Note
TUI is under active development. APIs may change.
π¦ Ollama coding agent that runs in your terminal. Read the wiki.
Set up Ollama.
npx code-ollamaInstall the CLI globally:
npm install --global code-ollamaStandalone executables for Linux, macOS, and Windows are also available from GitHub Releases. Extract the archive for your operating system and architecture, then run code-ollama (or code-ollama.exe on Windows).
Warning
OAuth authentication for MCP servers is not supported in standalone executables. Install the npm package when OAuth-backed MCP servers are required.
Open the TUI:
code-ollamaOr use the alias:
collamaSkills are Markdown instructions loaded into the system prompt as context. They do not add tools or execute code.
Add project skills:
.code-ollama/skills/<skill-name>/SKILL.mdAdd user skills:
~/.code-ollama/skills/<skill-name>/SKILL.mdProject skills load before user skills. Missing directories are ignored, and skills with the same directory name from both locations are both loaded with their source labels. Use /skills in the TUI to show loaded skills.
See example skill .code-ollama/skills/git-commit-staged/SKILL.md.
Tools can be loaded from Model Context Protocol servers configured in ~/.code-ollama/config.json.
Stdio servers run a local command:
{
"mcpServers": {
"context7": {
"command": "npx",
"args": ["-y", "@upstash/context7-mcp"]
}
}
}Streamable HTTP servers connect to a remote MCP endpoint:
{
"mcpServers": {
"remoteDocs": {
"url": "https://example.com/mcp",
"headers": {
"Authorization": "Bearer token"
}
}
}
}OAuth-based HTTP servers can authenticate in the browser. OAuth credentials are stored in the operating system credential store:
{
"mcpServers": {
"figma": {
"url": "https://example.com/mcp",
"oauth": {
"scopes": "file_read"
}
}
}
}Use oauth.callbackPort when a server requires a fixed redirect URL such as http://127.0.0.1:8080/callback. headers and oauth are mutually exclusive for the same server.
Servers are enabled by default. Skip a server with disabled: true:
{
"mcpServers": {
"context7": {
"command": "npx",
"args": ["-y", "@upstash/context7-mcp"],
"disabled": true
}
}
}MCP permissions can control which modes may execute server tools, which tools skip approval in Safe mode, and which tools are blocked entirely:
{
"mcpServers": {
"context7": {
"command": "npx",
"args": ["-y", "@upstash/context7-mcp"],
"permissions": {
"allowedModes": ["safe", "auto"],
"autoApprove": ["resolve-library-id", "get-library-docs"],
"deny": []
}
}
}
}allowedModes defaults to ["safe", "auto"]; include "plan" to allow MCP tools during Plan mode. autoApprove and deny use server-native MCP tool names. deny wins over both allowedModes and autoApprove.
MCP tools are exposed to the model with names like mcp__context7__resolve_library_id and use the existing tool approval flow. Use /mcp in the TUI to inspect configured servers, loaded tools, disabled servers, permissions, and startup errors. MCP tools are available in Plan mode only when "plan" is included in permissions.allowedModes.
Show the version:
code-ollama --versionShow the help:
code-ollama --helpRun a one-off prompt:
# code-ollama run --trust <model> <prompt>
code-ollama run --trust gemma4 "review diff"