Open source. Terminal-first. Browser-ready.

AI in your terminal.
A workspace in your browser.

Review code, edit files, research questions, and automate the work you repeat. Bring your choice of models to a powerful CLI and a complete browser interface.

MIT licensed Self-hosted Local and hosted models

One command. A complete workspace.
term-llm serve web
Code review in the fix-retry-backoff worktree with an expanded retry.go diff.
Review code in an isolated worktree, with the diff beside the conversation.Explore the workspace →

Real interface · Illustrative activity

Product screenshot

Open original ↗

The browser workspace

Not just a chat window. Your working environment.

Run one command to open a full interface for agent work: persistent conversations, projects and worktrees, live file diffs, and an interactive shell. All served from your own machine.

Keep work in context

Organize conversations by project, return to saved sessions, and work in isolated Git worktrees.

See what your agents change

Follow tool activity and inspect cumulative file diffs as work happens, without leaving the conversation.

More than text

Attach files and images, open an interactive shell, and extend the workspace with your own widget apps.

Why term-llm

Your workflow. Not one provider’s workflow.

Choose the right model

Use hosted APIs, supported subscriptions, or local models through Ollama and LM Studio. Choose models per agent, not just per app.

Explore connection options

Give repeatable work an agent

Start with a code reviewer, developer, or researcher. Customize their instructions, tools, permissions, and model choices.

Meet the built-in agents

Go beyond a single conversation

Keep sessions, schedule jobs, connect MCP tools, or expose an API. Build a workflow around your work—not the other way around.

Explore automation

At home in your terminal

Describe the task. Choose the command.

Tell term-llm exec what you want to do. It suggests commands with explanations, lets you explore the options, and runs the one you choose. Not quite right? Refine your request without starting over.

Explore the CLI →
Interactive exec Example picker
term-llm exec "list files"

Select a command to runi info

  • Highlighted option: ls

    List files and directories in the current directory.

  • ls -la

    Include hidden files, permissions, ownership, sizes, and timestamps.

  • ls -lh

    Show detailed metadata with human-readable file sizes.

  • ls -lt

    Sort by modification time, newest first.

  • find . -maxdepth 1 -type f

    List only regular files in the current directory, including hidden files.

something else...

Use ↑/↓ to choose, i for info, and Enter to run. Choose “something else…” to refine your request. Illustrative suggestions; results vary by request and shell.

Everyday workflows

Start with something you need to do.

Understand an unfamiliar codebase

Trace behavior across files and ask follow-up questions without losing the thread.

term-llm chat @codebase

Review before you commit

Ask a git-aware, read-only reviewer to look for bugs in your staged changes.

term-llm ask @reviewer "review the staged changes"

Implement a fix

Work with a developer agent that can inspect code, make changes, and run checks with the configured permissions.

term-llm chat @developer

Put your diff to work

Use ordinary Unix pipes to turn the context you already have into a useful result.

git diff --staged | term-llm ask @commit-message

You stay in control

Powerful tools. Explicit controls.

Choose what your agents can do, understand where your data goes, and keep track of usage.

Choose your approval mode

Use human approval for unmatched actions, or Guardian-reviewed auto mode. Workspace grants for file tools do not authorize shell commands.

Know where context goes

Hosted models receive the context you send. For local inference, use a local model and check tool, search, and Guardian routing too.

Track usage, not guesses

Inspect recorded token usage and estimated costs by provider and model. Pricing and coverage vary by provider.

Room to grow

Start small. Build your own workflow.

Get started

Make it part of your next task.

Install a self-contained release, connect a model, and choose your interface. No frontend build or separate web app to install.

All installation options →

1 Install term-llm

Homebrew · macOS

brew install samsaffron/tap/term-llm

Shell installer

curl -fsSL https://raw.githubusercontent.com/samsaffron/term-llm/main/install.sh | sh

Downloads and runs a shell script. Inspect the installer or download a release.

2 Try a first question

term-llm ask --provider zen "Explain git rebase in three sentences"

Zen offers a no-API-key path to supported free models. It is a third-party hosted service; model availability and limits can change. Already have a provider?

Continue to the quickstart →

Search documentation

Search commands, flags, workflows, and concepts.