Repository navigation
What's Changed
- Expose Unity Gateway model catalogs to Codex App by @andy-xu-db in #778
- Point Databricks CLI install failures at ~/.local/bin/databricks by @max-rozen-oss-db in #794
- excluded gpt-6 from tests by @lilly-luo in #797
- Rebrand
ug doctoroutput from ucode to ug by @max-rozen-oss-db in #793 - Make --skip-preflight skip the Databricks CLI version check by @max-rozen-oss-db in #293
- [ML-69867] Make the workspace walk pickers cancellable and stop blocking CLI exit by @xsh310 in #800
- [CI] Unblock main: bump Claude 2.1.280 + tolerate UC/gateway model-catalog lag by @sunishsheth2009 in #801
- Add installed Claude and Codex tracing journeys by @tt-le in #739
- Skip discovery for explicit managed MCP names; BASIC view + pagination for schema listing by @sunishsheth2009 in #787
- Batch managed MCP registration into one config write per agent by @sunishsheth2009 in #789
- Accept allow_all_targets Bedrock provider services for Claude by @greynewell in #812
- mcp-proxy: drive per-connection login on a 401 (generic, all agents) by @sunishsheth2009 in #557
- Skip managed MCP setup gracefully on ListMcpServices 429 by @sunishsheth2009 in #813
- Add full-journey integration test for allow_all_targets Bedrock Claude by @masonc08 in #814
- Run Claude managed defaults tests against published workspace configs by @lilly-luo in #832
- Require managed-config integration tests to pass by @rohita5l in #829
- Extract shared _fetch_bundles_and_write skill-download helper by @xsh310 in #763
- [Bug Fix] Replace skill bundles atomically instead of merging over them by @xsh310 in #767
- [AIGTWY-4843] Surface invalid/expired token in
ug mcp addby @sunishsheth2009 in #830 - [AIGTWY-4856] mcp: only use native OAuth for connection-backed services (fix web_search) by @sunishsheth2009 in #836
- Pin the Claude model for explicit-model integration tests by @rohita5l in #840
- Reduce repeated sudo prompts for managed settings by @rohita5l in #837
- e2e: skip Gemini image models in the Pi launch test by @david-siqi-liu in #842
- [AIGTWY-4842] Skip managed-settings rewrite on a semantic no-op by @david-siqi-liu in #827
- Fix
ug mcp listreporting healthy MCP servers asmissingby @sunishsheth2009 in #838 ug mcp add: say so instead of re-adding a server managed config already provides by @sunishsheth2009 in #839- Batch the cross-workspace MCP purge and stop it recurring by @sunishsheth2009 in #841
- Run lint in separate CI step instead of pytest by @max-rozen-oss-db in #803
- Show managed defaults and scoped catalogs in Claude model picker by @andy-xu-db in #783
- Support per-launch model selection for OpenCode by @andy-xu-db in #834
- Add advisory Windows installation CI with authenticated package proxies by @rohita5l in #786
- Add Windows end-to-end Claude gateway CI by @rohita5l in #795
- Fix success output on Windows legacy code pages by @rohita5l in #796
- mcp: native codex OAuth for connection-backed AI Gateway services by @sunishsheth2009 in #843
- [AIGTWY-4884] Identify managed-config reads with a ucode User-Agent by @david-siqi-liu in #878
- pass custom agents for smart routing using --plugin-dir which persist btw background agents by @lilly-luo in #779
- Resolve native Claude executable on Windows by @rohita5l in #798
- Run CI on merge_group events by @max-rozen-oss-db in #882
- Drop provider-launch e2e tests already covered by the integration suite by @masonc08 in #688
- Wait for Claude gateway discovery in model-picker tests by @max-rozen-oss-db in #848
- Resolve remaining npm-installed agent commands on Windows by @masonc08 in #884
- Use Responses API for GPT-6+ in Copilot by @masonc08 in #898
- Decode agent and Databricks CLI output as UTF-8 by @masonc08 in #889
- Download skill bundle files concurrently by @xsh310 in #861
- List skill bundle directories concurrently by @xsh310 in #869
- Skip recommendModel when ug has no smart defaults by @andy-xu-db in #893
- Add OpenCode to the integration test framework by @masonc08 in #909
- Document fields ug configure writes by @david-siqi-liu in #895
- Support Windows locking for custom OAuth by @masonc08 in #887
- Avoid sharing cached proxy ports on Windows by @masonc08 in #888
- Lilly/update smart routing banner model stubs by @lilly-luo in #918
- Fix headless Claude launches with externally managed telemetry by @rohita5l in #826
- [AIGTWY-4901] Only revert Claude model picker keys ug wrote to the managed file by @david-siqi-liu in #916
- add smart router skill and infra to install a skill by @lilly-luo in #892
- [ug] Surface invalid authentication errors from usage by @andy-xu-db in #897
- add integration test for the smart router skill by @lilly-luo in #912
- Preserve Claude search authentication, provider ownership, and caller denies by @JJ27 in #903
- Never drop the first prompt when the Smart Routing model switch fails by @michaelp-db in #863
- [ug] Preserve unmanaged Claude family defaults by @lilly-luo in #928
- Add label-triggered UG review bot by @lilly-luo in #929
- [ug] Preserve search ownership when models are unavailable by @JJ27 in #931
- Resolve the newest matching databricks CLI by absolute path by @max-rozen-oss-db in #833
- Bind Smart Router controls to the launching installation by @lilly-luo in #933
- Use service principal for UG review bot by @lilly-luo in #948
- Run only lint and unit tests in the merge queue by @max-rozen-oss-db in #934
- Run UG review bot on protected runner by @lilly-luo in #950
- Allow UG review bot to post PR comments by @lilly-luo in #951
- Support Claude bootstrap on Windows by @masonc08 in #917
- Run user journey gate on protected runner by @lilly-luo in #952
- Use Responses API for user journey judge by @lilly-luo in #953
- Fix missing web search on Claude-only setup by @JJ27 in #947
- Pin models in smart router toggle tests by @lilly-luo in #954
- Fix serialized requests in the built-in web search MCP server by @JJ27 in #932
- AIGTWY-4385 Support Claude subagent routing on Windows by @masonc08 in #890
- Pass gateway provider to the smart-routing Codex TUI by @masonc08 in #886
- Quote Pi token commands for Bash on Windows by @masonc08 in #885
- Auto-update downloaded skills at agent launch by @xsh310 in #764
- test: scaffold full E2E CUJ suite by @lilly-luo in #971
- Fix Claude schema discovery with managed defaults by @andy-xu-db in #981
- test: add TUI request recorder by @lilly-luo in #994
- ci: discover dedicated-workspace CUJs by @lilly-luo in #998
- [AIGTWY-4678] MDM/JAMF bootstrap script for headless ug provisioning by @david-siqi-liu in #697
- fix: preserve workspace origin in gateway probe by @lilly-luo in #999
- test: add reusable dedicated-workspace CUJ framework by @lilly-luo in #1000
- cuj4: smart routing by @lilly-luo in #972
- [AIGTWY-4881] Keep Codex's managed default model when ug saves state by @david-siqi-liu in #1010
- [AIGTWY-4902] Stabilize ug's User-Agent: no sudo for version-only changes, agent versions in the managed-config GET by @david-siqi-liu in #986
- [AIGTWY-4902] Only revert a Claude managed picker that ug itself wrote by @david-siqi-liu in #988
- fix: keep headless Claude and Codex stdout clean by @tt-le in #1007
- [AIGTWY-4877] Add MPS and MCP two-agent CUJ by @masonc08 in #993
- [AIGTWY-4880] CUJ5: Verify budget recommendations and agent startup by @andy-xu-db in #911
- MCP follow-ups: status count via shared enumerator + async-only proxy auth by @sunishsheth2009 in #810
- [AIGTWY-4876] Support managed CUJ1 setup by @JTSIV1 in #1004
- [AIGTWY-4876] Test managed config CUJ1 by @JTSIV1 in #991
- [AIGTWY-4876] Run managed config CUJ1 in CI by @JTSIV1 in #992
- AIGTWY-4878 [1/3] Extract existing native transcript helpers by @tt-le in #968
- AIGTWY-4878 [2/3] Test catalog discovery and configured defaults by @tt-le in #965
- AIGTWY-4878 [3/3] Test MCP registration and tool use in Claude and Codex by @tt-le in #990
- [AIGTWY-4881] Add CUJ 6 repeated-config E2E journey by @david-siqi-liu in #987
- Add orchestrator skill and role instructions by @JJ27 in #1013
- [AIGTWY-4977] Stub managed integration tests from JSON fixtures by @david-siqi-liu in #1032
- [AIGTWY-4977] Cover managed skills in CUJ 2, 3 and 6 by @david-siqi-liu in #1026
- Integrate opt-in Smart Router Orchestrator by @JJ27 in #996
- Skip credentialed integration jobs on fork PRs by @david-siqi-liu in #1043
- Isolate ambient smart-routing env vars in tests by @max-rozen-oss-db in #935
- Fix Claude --model without a managed catalog by @andy-xu-db in #1037
- Fix Windows Databricks CLI discovery after PATH refresh by @masonc08 in #1047
- fix: reconcile headless managed settings without prompting by @tt-le in #1008
- [AIGTWY-4972] Consolidate CUJ helpers, fix flakes, parallelize CUJs by @david-siqi-liu in #1040
- ci: Upload E2E CUJ evidence as artifacts by @max-rozen-oss-db in #1050
- ci: Run unit, e2e, and non-PTY integration lanes on Windows by @max-rozen-oss-db in #1025
- Add ug agents add/remove/list for self-managed agents by @masonc08 in #896
- ug: Filter image-only Gemini models in the e2e launch test on Windows only by @max-rozen-oss-db in #1061
- Use the Anthropic Messages API for Claude models in Copilot by @masonc08 in #1065
- Require Claude Code 2.1.290 or newer by @lilly-luo in #1059
- Deliver managed config agent settings verbatim into managed files by @sunishsheth2009 in #997
- consolidate smart routing configuration env vars into SMART_ROUTER_CONFIG by @lilly-luo in #1051
- Add the Claude mod entry point and launch wiring by @lilly-luo in #1062
- Verify orchestrator labels in live routing tests by @JJ27 in #1039
- Make doctor robust to an unrunnable Databricks CLI and legacy Windows output encodings by @masonc08 in #1067
- Allow Bedrock and Bedrock Mantle MPS for Claude and Codex by @masonc08 in #1066
- Support agent-specific Smart Router Orchestrator skills by @JJ27 in #1076
- Update Claude and Codex orchestrator workflows by @JJ27 in #1064
- Resolve smart-routing presets separately for Claude and Codex by @lilly-luo in #1082
- ci: Add zizmor workflow and fix its findings by @max-rozen-oss-db in #1089
- Add a Claude-only subagent routing and orchestration preset by @lilly-luo in #1083
- [AIGTWY-4882] Add fresh-launch journeys and dedicated CUJ7 coverage by @tt-le in #930
- Skip Windows CI lanes on fork PRs by @david-siqi-liu in #1080
- Add Kilo CLI as an agent provider by @djcelis in #901
- Move fork-PR credentialed CI off pull_request_target by @david-siqi-liu in #1044
- Pass Claude routing baselines through native plugin options by @lilly-luo in #1084
- Configure first-run launches through the launch's --provider by @masonc08 in #1081
- Run fork integration's GitHub API jobs on allowlisted runners by @david-siqi-liu in #1101
- Report downloaded skills to AI Gateway for usage tracking by @xsh310 in #980
- Memoize Databricks CLI tokens per process and skip impossible
--no-browserre-auth by @yaoharry in #1017 - Only skip the relay sign-in for a real Claude subscription login by @masonc08 in #1104
- ci: Run Windows lanes on windows-latest and drop JFrog by @max-rozen-oss-db in #1095
- Cut ug startup cost: fast --version entry point and lazy heavy imports by @yaoharry in #1018
- Let ug mcp add --agents target a workspace without the picker by @erifyc1 in #1049
- Share request recording and response checks between test suites by @lilly-luo in #1102
- fix: Route headless Claude prompts before launch under smart routing by @max-rozen-oss-db in #1098
- Add support for gateway request tags by @rclarey in #883
- Clear Claude Code's input box before the Smart Routing model switch and replay by @luisscabral in #1110
- ug: Recognize ug.EXE web-search entries on Windows by @max-rozen-oss-db in #1029
- Toggle all Claude routing flags through the existing skill by @lilly-luo in #1063
- Revert shared Claude routing skill removal by @lilly-luo in #1115
- Update Claude orchestrator to C12 v1.3.0 by @JJ27 in #1119
- Unskip CUJ 4 Claude explicit-model routing check by @lilly-luo in #1118
- Allow skipping read/write of OS level settings by @rclarey in #908
- Render smart-routing status in the TUI via a Claude Mod by @lilly-luo in #977
- ci: Run Terminal Bench through ug on Linux and Windows by @max-rozen-oss-db in #1074
- Carry the Smart Router recipe in CLAUDE_CODE_EXTRA_BODY by @lilly-luo in #1124
- Skip the required agent-upgrade prompt when UG_AUTO_UPGRADE_AGENT is set by @p-yang in #1126
- Open a browser sign-in when the Codex helper's Databricks login expires by @andy-xu-db in #1048
- Run opt-in latest-agent smart-routing harness every six hours by @lilly-luo in #1125
- Write Claude Code's machine-wide settings on Windows by @masonc08 in #1099
- Notify Slack of latest harness success and failure by @lilly-luo in #1129
- Show the routed agent in Claude smart-routing notices by @JJ27 in #1130
- Tag harness owners in latest harness Slack notifications by @lilly-luo in #1133
- tests: Shorten random ids in live suites and fix flakes by @max-rozen-oss-db in #1127
- terminal-bench: Update Harbor success criteria & config by @max-rozen-oss-db in #1134
- AIGTWY-5016 Add bounded Claude Desktop OAuth credential helper by @masonc08 in #1069
- Reuse CLI OTEL proxy for Codex desktop tracing on Linux by @andy-xu-db in #1112
- ci: Accept Claude's single-task detail view in /tasks wait by @max-rozen-oss-db in #1143
- Hide the Smart Router band after one turn; show on/off in the prompt hint row by @lilly-luo in #1138
- Update Claude orchestrator to v1.4.0 by @arnavsinghvi11 in #1148
- Add custom model location option to ug configure by @billiam-wang in #1141
- Fix Windows web_search hang and skip no-op PATH writes by @masonc08 in #1068
- ci: Drive Windows integration TUIs through ConPTY by @max-rozen-oss-db in #1058
- Let an OS-managed model picker own Claude's model defaults by @david-siqi-liu in #1135
- Add Claude Code 1M hints for GPT models by @andy-xu-db in #1117
- Use the
ugcommand name in user-facing messages by @nachill-databricks in #1164 - Skip gemini-3-7-flash in OpenCode E2E launch tests by @rohita5l in #1166
- Use Open Code Review through Unity Gateway for /ug-review by @rohita5l in #1144
- AIGTWY-5017 Manage a dedicated Claude Desktop gateway profile by @masonc08 in #1070
- Add Polly multi-agent review to /ug-review by @rohita5l in #1165
- AIGTWY-5019 Configure Claude Desktop alongside Claude Code by @masonc08 in #1071
- AIGTWY-5019 Show readable Claude Desktop model labels by @masonc08 in #1174
- Add [1m] hint to gateway-wrapped GPT model ids by @andy-xu-db in #1172
- Support the OpenCode 2 plugin API for Databricks auth refresh by @mats16 in #906
- terminal-bench: Run twice daily and notify Slack by @max-rozen-oss-db in #1173
- Render subagent routing using claude code mod by @lilly-luo in #979
- Record router candidates in local decision logs by @JJ27 in #1154
- Make smart-routing reasons easier to read by @JJ27 in #1177
- Run harness-latest once on weekdays by @lilly-luo in #1183
- Add CUJ 8 for launcher sessions with a second settings writer by @david-siqi-liu in #1136
- Use custom OAuth profile for Claude model catalogs by @JJ27 in #1178
- AIGTWY-5019 Preserve externally managed Claude picker by @masonc08 in #1190
- terminal-bench: Stop after 2 passes, run a 3rd attempt only on a split by @max-rozen-oss-db in #1176
- AIGTWY-5019 Configure native Claude Desktop OTEL tracing by @masonc08 in #1175
- Add Claude accepted-answer delivery for print mode by @arnavsinghvi11 in #1167
- Update Claude orchestrator skill to v1.5.0 by @arnavsinghvi11 in #1168
- Require feedback before disabling Smart Router in Isaac by @JJ27 in #1139
- Write Codex's machine-wide requirements.toml on Windows by @masonc08 in #1158
- test: align Claude picker expectations with gateway catalogs by @lilly-luo in #1206
- Preserve Claude print results on stdout by @lilly-luo in #1194
- Accept true/false for Isaac Smart Router feedback by @lilly-luo in #1195
- Warn when configure can't write the machine-wide agent settings by @masonc08 in #1205
- Add workspace-authenticated AI Gateway spend-status client by @poojabhat0 in #1171
- AIGTWY-5018 AIGTWY-5020 Isolate Desktop tests and plan native integration by @masonc08 in #1072
- codex: desktop OTEL tracing on macOS by @andy-xu-db in #1187
- copilot: Route ug copilot through a refreshing loopback auth proxy by @xi-db in #1217
- AIGTWY-5019 Move Desktop setup into desktop package by @masonc08 in #1221
- codex: desktop OTEL tracing on Windows by @andy-xu-db in #1188
- AIGTWY-5019 Label managed Claude Desktop models by @masonc08 in #1225
- Remove per-launch Codex model catalogs on ug revert by @andy-xu-db in #1224
- [AIGTWY] Add ug configure --global/--user scope by @JTSIV1 in #1207
- Add opt-in multi-budget view to ug usage by @poojabhat0 in #1215
- Stabilize smart routing integration coverage by @sunishsheth2009 in #1222
- Use Claude Code CIMD client for MCP OAuth by @sunishsheth2009 in #1231
- Show MCP and Skills catalog tables with metadata and status by @sunishsheth2009 in #1232
- AIGTWY-5019 Configure Claude Desktop Cowork and recover MCP authentication by @masonc08 in #1213
- Add Codex Azure OpenAI and Microsoft Foundry MPS test coverage by @masonc08 in #707
- Submit Isaac feedback asynchronously in Smart Router sessions by @JJ27 in #1214
- copilot: discover and switch between all authorized models by @xi-db in #1218
- Add Codex desktop catalog integration tests by @andy-xu-db in #1226
- Add ug usage --all to list all budget limits by @poojabhat0 in #1239
- Add Claude-on-Bedrock MPS integration test by @masonc08 in #742
- Turn on smart routing through subagent_orch_v0 for --enable-smart-routing and admin config by @xsh310 in #1212
- AIGTWY-5175 Send client OS and arch in the ucode User-Agent by @masonc08 in #1234
- Read ug usage budget IDs from resource names by @poojabhat0 in #1244
- Support Claude Desktop subscription relay auth by @masonc08 in #1243
- copilot: route ug copilot through Model Provider Services by @xi-db in #1220
- CUJ1: Expect GPT-6 Luna and GPT-6.1 Sol in the Claude Code model list by @andy-xu-db in #1271
- terminal-bench: Make background-shell require a background task by @max-rozen-oss-db in #1255
- Add Claude Desktop relay integration coverage by @masonc08 in #1269
- Quarantine flaky Claude Smart Router toggle journeys by @masonc08 in #1270
- Block ug configure --user for managed workspaces by @billiam-wang in #1266
- Add
ug --header/ UG_HEADERS for per-launch request headers by @andy-xu-db in #1248 - Install the workspace policy at ug configure by @billiam-wang in #1259
- Enforce the installed workspace policy on launch by @billiam-wang in #1260
- copilot: route ug copilot through Microsoft Foundry provider services by @xi-db in #1267
- Add a Claude Code mod so
ug --headerreaches Claude by @andy-xu-db in #1240 - Trust OS-managed settings under UG_SKIP_OS_SETTINGS by @billiam-wang in #1263
- Simplify ug usage budget ranking and display by @poojabhat0 in #1276
- Match Codex subagent routes by spawn task name in the smart-routing CUJ by @lilly-luo in #1258
- terminal-bench: Harden Harbor setup against slow Docker and apt by @max-rozen-oss-db in #1264
- Pass user-scope MCP servers to relayed Claude launches by @nachill-databricks in #1238
- Stop syncing managed settings on every launch by @billiam-wang in #1265
- AIGTWY-5287 Shorten Cowork connector labels and plugin prefix by @masonc08 in #1297
- copilot: run ug copilot on a Unity Catalog model location by @xi-db in #1256
- Generate a Cowork connector skill naming configured MCP servers by @masonc08 in #1303
- cc smart routing: render model + rationale for multiple subagents by @lilly-luo in #1273
- [AIGTWY-5264] Bump certifi and CI uv for SIRT-1989 by @rohita5l in #1309
- Use pinned CIMD OAuth clients for Claude, Codex, and Cursor MCP by @sunishsheth2009 in #1257
- unity-gateway: Ask for verbatim CUJ 3 MCP receipts and document flake triage by @max-rozen-oss-db in #1304
- Show readable Codex model labels in the picker by @andy-xu-db in #1311
- unity-gateway: Read Codex's CUJ 2 skill answer from its exec JSON events by @max-rozen-oss-db in #1299
- unity-gateway: Fix Windows-only catalog browser scroll test by @max-rozen-oss-db in #1295
- terminal-bench: Let resume-session write the code word in step 2 by @max-rozen-oss-db in #1285
- Sync user-downloaded skills into Claude Cowork by @masonc08 in #1293
- [AIGTWY-5248] Run full CI hourly on main by @tt-le in #1317
- Force Claude Code's mods gate on at launch, with locked .claude.json writes by @lilly-luo in #1298
- [Smart Routing] Send workspace model ids to routes:select without model name normalization by @xsh310 in #1272
- [AIGTWY-5291] Use browser sign-in for MCP connections by @masonc08 in #1302
- Blank shell Anthropic credentials in Claude settings by @billiam-wang in #1287
- Install header mod and policy only from configure by @billiam-wang in #1280
- Make configure and launch write identical Claude models by @billiam-wang in #1281
New Contributors
- @greynewell made their first contribution in #812
- @michaelp-db made their first contribution in #863
- @JTSIV1 made their first contribution in #1004
- @djcelis made their first contribution in #901
- @yaoharry made their first contribution in #1017
- @erifyc1 made their first contribution in #1049
- @rclarey made their first contribution in #883
- @luisscabral made their first contribution in #1110
- @p-yang made their first contribution in #1126
- @arnavsinghvi11 made their first contribution in #1148
- @billiam-wang made their first contribution in #1141
- @mats16 made their first contribution in #906
- @xi-db made their first contribution in #1217
Full Changelog: v0.2.0...v0.2.1