paella
An interactive AI agent in your terminal — like Claude Code.
Installation
pip install paella-ai
This installs the paella command.
The interactive agent
Just run paella (or paella chat) to start an interactive session:
paella
On a real terminal this opens a full-screen app (scrolling transcript +
anchored input). Piped/non-interactive input falls back to a line REPL
automatically; force it with paella chat --classic.
You get a streaming chat loop with tool use — the agent can read files, list directories, run shell commands (with your approval), and search the web. Responses render as Markdown with syntax-highlighted code blocks; extended thinking is streamed inline.
Slash commands & prefixes
| Command / prefix | Description |
|---|---|
/help |
show available commands |
/model [name] |
switch model (Claude/OpenAI); no name opens a picker |
/clear |
reset the context window |
/copy |
copy the last reply to the clipboard |
/compact |
summarize older turns to shrink context |
/tools |
list the tools the agent can call |
/exit, /quit |
leave (or exit, or ctrl+c twice) |
!<cmd> |
run a shell command directly |
@<path> |
attach a file (opens a file picker) |
Models
Run /model for a picker across Claude (Opus 4.8, Fable 5, Sonnet 5,
Haiku 4.5) and OpenAI (GPT-5 Codex, GPT-5, o4-mini), or /model <name> to
switch directly — the backend is inferred from the id (gpt-*/o* → OpenAI,
claude-* → Anthropic; or force with openai:<id>). Switching starts a fresh
session.
Set credentials via environment variables or config:
export ANTHROPIC_API_KEY=sk-ant-... # or: paella config set anthropic_api_key ...
export OPENAI_API_KEY=sk-... # or: paella config set openai_api_key ...
Config is stored at ~/.config/paella/config.json. Relevant keys:
backend, model, anthropic_api_key, openai_api_key, web (default on).
Context compaction
Long sessions are kept from overflowing the model's context window by
auto-summarization: when the transcript grows past a threshold, the oldest
turns are replaced by a single summary while the most recent turns are kept
verbatim. Run /compact to trigger it manually. It rewrites history rarely and
in one batch, so the compacted prefix stays cache-friendly. Config keys:
compact (default true), compact_threshold_tokens (120000),
compact_keep_tokens (40000).
Other commands
paella --version
paella config set|get|list|path
Development
This project uses uv.
uv sync # install deps into a local venv
uv run paella # run the agent from source
uv run pytest # run the test suite
Building & publishing
uv build # produces wheel + sdist in dist/
uv publish # upload to PyPI
License
MIT
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file paella_ai-1.0.1.tar.gz.
File metadata
- Download URL: paella_ai-1.0.1.tar.gz
- Upload date:
- Size: 74.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.11.28 {"installer":{"name":"uv","version":"0.11.28","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e25c698fa518408db9f07f15cea019bed246eb5d0823d305d5cd12adf27001fe
|
|
| MD5 |
317d9150b3b9287c4d701db6d6810bef
|
|
| BLAKE2b-256 |
acfd0d467c5d62bb3fd7655a57db43706b30608858f59ced7aaad86b53f58f40
|
File details
Details for the file paella_ai-1.0.1-py3-none-any.whl.
File metadata
- Download URL: paella_ai-1.0.1-py3-none-any.whl
- Upload date:
- Size: 32.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.11.28 {"installer":{"name":"uv","version":"0.11.28","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5ad2a779ac5828d42327367e4e7c1e5fa72c879b8de02688f0c031ffdb405527
|
|
| MD5 |
f7584026c4a12b0018ed446c1b619e06
|
|
| BLAKE2b-256 |
ef090a5a5a7d75a298f4abcbf0829025805b18dc75d0e730db011521628ff234
|