Skip to main content

Kubrick CLI

CI CD Security PyPI version Python Versions Downloads Docker Pulls Docker Image Size codecov OpenSSF Scorecard License: MIT Code style: black

An agentic coding CLI in the spirit of Claude Code — but provider-agnostic and built to work well with local models. Kubrick reads and edits your code, runs commands, and iterates until the task is done, using native tool calling on Ollama, vLLM, llama.cpp, LM Studio, Anthropic, OpenAI, and Amazon Bedrock (Triton is supported with a text-based tool protocol).

Installation

pip install kubrick-cli                 # core (local servers, Anthropic, OpenAI, Triton)
pip install 'kubrick-cli[bedrock]'      # + Amazon Bedrock (boto3)
pip install 'kubrick-cli[keyring]'      # + store API keys in the OS keychain
pip install 'kubrick-cli[all]'          # everything

Requires Python 3.9+. A Docker image is also available — see DOCKER.md. uv tool install kubrick-cli or pipx install kubrick-cli keeps it in its own environment.

Updating: kubrick update (or /update in a session) checks PyPI and runs the right upgrade for how Kubrick was installed: uv tool upgrade, pipx upgrade, or pip in its virtualenv. Docker and source checkouts get the command to run instead. kubrick update --check only reports. Kubrick also checks once a day and mentions new releases at startup; turn that off with /config check_for_updates false.

Quick start

Run kubrick and the setup wizard walks you through choosing a provider. Or configure it directly:

Local model (Ollama, vLLM, llama.cpp, LM Studio) — any OpenAI-compatible server:

# On the GPU box (Ollama example): serve on the LAN with a usable context window
OLLAMA_HOST=0.0.0.0 OLLAMA_CONTEXT_LENGTH=32768 ollama serve

# On your machine
kubrick setup        # "Local model server" > Ollama > type gpu-box:11434 > pick a model
kubrick

Anthropic

kubrick auth login anthropic             # stored encrypted (or in the OS keychain)
kubrick --provider anthropic             # default model: claude-opus-5-5

OpenAI

export OPENAI_API_KEY=...                # env vars work too and take precedence
kubrick --provider openai                # default model: gpt-5

Amazon Bedrock — uses your normal AWS credentials (profiles, SSO); Kubrick stores none:

aws sso login --profile work
kubrick setup        # choose "Amazon Bedrock", enter a model / inference profile ID

Triton Inference Server — see TRITON.md.

Usage

> fix the failing test in tests/test_parser.py

● Bash(pytest -q tests/test_parser.py)
  └ Exit code: 1 ...
● Read(src/parser.py)
  └ Read 212 lines
● Edit(src/parser.py)
  └ Edited src/parser.py (1 replacement(s))
● Bash(pytest -q tests/test_parser.py)
  └ Exit code: 0

Fixed the off-by-one in parse_range (src/parser.py:88); the test now passes.

Kubrick asks before editing files or running commands (read-only commands like git status run without asking). Pick "Yes, and allow ..." (or press a) to allow that kind of action for the rest of the session, or start with --permission-mode accept_edits. /plan switches to a read-only planning mode.

Type / to open the command menu. It filters as you type (/pr shows /provider); press ↑/↓ to pick one, Tab to complete, Esc to close, or just keep typing and Enter sends what you typed. /provider, /model and /permissions without an argument open a picker.

Terminals. Kubrick works in any terminal, including tmux/screen, Windows Terminal, and Emacs (vterm, eat, ansi-term; in M-x shell and other dumb terminals menus become numbered prompts). Set KUBRICK_ASCII=1 if your font is missing symbols, KUBRICK_SIMPLE_UI=1 to always use numbered prompts, NO_COLOR=1 to drop color, and /config editing_mode vi for vi key bindings.

Non-interactive / scripting:

kubrick -p "summarize what this repo does"
git diff | kubrick -p "review this diff for bugs"
kubrick -p "update the changelog" --permission-mode accept_edits
kubrick -c                      # continue the most recent conversation

Put project-specific instructions (build/test commands, conventions) in a KUBRICK.md at the repo root — CLAUDE.md and AGENTS.md are read too. /init generates one for you.

Development

make dev        # .venv with an editable install + dev tools (needs uv)
make run        # run it against a throwaway playground project, with its own ~/.kubrick
make test       # tests; `make lint` runs the CI checks
make sandbox    # run it in Docker: only the project is visible, installs stay inside
make reset      # delete .venv and .dev/ (everything above lives there)

make run DIR=~/src/project points it at a real project; make reset-home re-runs the setup wizard. See CONTRIBUTING.md.

Features

  • Native tool calling on every provider, with automatic fallback to a text protocol for models or servers that don't support tools
  • Claude Code-style permission modes, plan mode, and project instruction files
  • Local-model friendly: context-window auto-detection (vLLM, Ollama), reasoning/<think> display, recovery of unparsed <tool_call> output
  • Automatic context compaction, conversation history (-c, -r, /list, /load)
  • API keys kept out of config files: env vars, OS keychain, or a machine-bound encrypted store
  • Streaming output, parallel read-only tools, ripgrep-backed search

Documentation

  • WIKI.md — commands, flags, permissions, configuration, troubleshooting
  • PROVIDERS.md — setting up each provider and local servers
  • SECURITY.md — credential storage and security policy
  • DOCKER.md — running in Docker
  • TRITON.md — Triton backend setup
  • TESTING.md — development and testing
  • CICD.md — CI, releases, and publishing

License

MIT License - See LICENSE

Metadata

Release files for kubrick-cli 0.2.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for kubrick-cli 0.2.0
File Size Uploaded
kubrick_cli-0.2.0.tar.gz 128.9 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for kubrick-cli 0.2.0
File Interpreter ABI Platform
kubrick_cli-0.2.0-py3-none-any.whl Python 3 none any Details

Total release size: 236.4 kB

Release files / kubrick_cli-0.2.0.tar.gz

Download URL kubrick_cli-0.2.0.tar.gz
Size 128.9 kB
Tags Source
SHA-256 checksum
How to use checksums
891b41135ba8746a956905c5c2a43f1f55192775de2642935877e362dfd7ded3
BLAKE2b-256 checksum
How to use checksums
3d7ce1bba84ffd6b9edd0d964a3a88d8f7114fa00edcd6cfc70df7bd306fe672
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / kubrick_cli-0.2.0-py3-none-any.whl

Download URL kubrick_cli-0.2.0-py3-none-any.whl
Size 107.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
acad253ea8e5400e9fab717f1051929bdab2de451b0d55ca9970c35ca9020c05
BLAKE2b-256 checksum
How to use checksums
166803ce7c330e4629aa1d12db8770e1abaa30f64e3db4f889a859de2ad21d90
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release history Release notifications | RSS feed

This release

0.2.0 This release

2 release files

0.1.6

2 release files

0.1.5

2 release files

0.1.4

2 release files

0.1.3

2 release files

0.1.2

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page