ucode is a lightweight launcher for running Codex, Claude Code, Gemini CLI, OpenCode, GitHub Copilot CLI, and Pi through Databricks.
- Python 3.12+ — install with
uv(uv.astral.sh) npmif tool CLIs need to be installed automatically
uv tool install git+https://github.com/databricks/ucodeJust run the tool you want:
ucode codex # OpenAI Codex
ucode claude # Claude Code
ucode gemini # Gemini CLI
ucode opencode # OpenCode
ucode copilot # GitHub Copilot CLI
ucode pi # PiOn first launch, ucode will prompt for your Databricks workspace URL, authenticate, and configure that tool automatically. Subsequent launches go straight to the agent.
Pass flags directly to the underlying tool:
ucode claude -r # resume last session
ucode codex --full-autoAll agents route through Databricks AI Gateway using your workspace credentials — no API keys required.
To configure all tools at once:
ucode configureTo configure specific tools without the picker, pass a comma-separated list:
ucode configure --agents claude,codexAvailable agent names are codex, claude, gemini, opencode, copilot, and pi.
To configure without the workspace picker, pass a comma-separated list of workspaces:
ucode configure --workspaces https://first.databricks.com,https://second.databricks.comWhen multiple workspaces are provided, ucode logs into and saves state for each workspace. Launch commands such as ucode codex use the first workspace in the list.
Alternatively, pass existing Databricks CLI profiles (from ~/.databrickscfg) instead of workspace URLs — each profile's host supplies the workspace URL:
ucode configure --profiles DEFAULT --agents claude,codexAuth behaves the same as --workspaces: an OAuth databricks auth login is forced by default.
For CI or headless environments where the profile holds a personal access token (auth_type = pat in ~/.databrickscfg), add --use-pat. It must be combined with --profiles — ucode never picks up a PAT implicitly — and runs no interactive login: the profile's token is used for the whole setup (and by launched agents afterwards), with workspace access verified against the AI Gateway. --skip-validate additionally skips the post-configure test message sent through each agent, so configure only writes config files with the freshly discovered models. Together these make setup fully non-interactive:
ucode configure --profiles DEFAULT --agents claude,codex --use-pat --skip-validate --skip-upgradeucode configure mcpAdd Databricks MCP servers to installed MCP-capable tools: Codex, Claude Code, Gemini CLI, OpenCode, and GitHub Copilot CLI. Options are shown in this order:
- Discovered external MCP connections
- Databricks SQL
- Managed Databricks MCPs (Vector Search, UC Functions, etc.)
- Custom MCP server URL
Discovered external MCP connections are listed directly. MCP auth uses a Databricks token that
ucode sets when launching each tool.
| Command | Description |
|---|---|
ucode status |
Show current workspace, base URLs, managed config files, and selected models |
ucode usage |
Show AI Gateway usage summary |
ucode revert |
Clear saved state and restore backed-up config files |
ucode configure --dry-run |
Preview config files without writing them |
ucode configure --agents claude,codex |
Configure specific agents without the interactive picker |
ucode configure --workspaces https://first.databricks.com,https://second.databricks.com |
Configure workspaces without the interactive picker |
ucode configure --profiles DEFAULT |
Configure using existing Databricks CLI profiles (hosts come from ~/.databrickscfg) |
ucode configure --profiles DEFAULT --use-pat |
Authenticate with the profile's personal access token — no browser login |
ucode configure --skip-validate |
Write configs without sending a test message through each agent |
ucode manages these files:
| File | Tool |
|---|---|
~/.codex/config.toml |
Codex |
~/.claude/settings.json |
Claude Code |
~/.gemini/.env |
Gemini CLI |
~/.config/opencode/opencode.json |
OpenCode |
~/.copilot/.env |
GitHub Copilot CLI |
~/.pi/agent/models.json |
Pi |
Existing files are backed up before being overwritten. ucode revert restores backups.
- Databricks AI Gateway overview
- Databricks AI Gateway coding agent integration
- Databricks CLI authentication
- Monitor AI Gateway usage
Contributions are welcome.
git clone https://github.com/databricks/ucode
cd ucode
uv sync-
Create a feature branch off
main. -
Make your changes — keep them scoped to the requested behavior.
-
Run the test suite before pushing:
uv run pytest # unit tests uv run ruff check . # lint
-
For end-to-end testing against a real workspace:
UCODE_TEST_WORKSPACE=<db_workspace_url> uv run pytest tests/test_e2e.py -v
-
Open a pull request against
main.
- Add
src/ucode/agents/<name>.pywith at leastwrite_tool_config,launch,default_model, andvalidate_cmd. - Register it in
src/ucode/agents/__init__.py. - Add focused tests under
tests/.
Please report security vulnerabilities to security@databricks.com rather than opening a public issue.
See LICENSE.md and NOTICE.md.