code-ollama
v0.52.0
Published
Ollama coding agent that runs in your terminal
Maintainers
Readme
[!NOTE] TUI is under active development. APIs may change.
Code Ollama
🦙 Ollama coding agent that runs in your terminal. Read the wiki.
Prerequisites
Set up Ollama.
Quick Start
npx code-ollamaInstall
Install the CLI globally:
npm install --global code-ollamaDownload
Standalone 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.
Usage
TUI
Open the TUI:
code-ollamaOr use the alias:
collamaSkills
Skills 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.
MCP
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.
CLI
Show the version:
code-ollama --versionShow the help:
code-ollama --helpCheck whether the configuration, Ollama connection, and selected model are ready:
code-ollama doctorRun a one-off prompt:
# code-ollama run --trust <model> <prompt>
code-ollama run --trust gemma4 "review diff"Attach one or more images to a prompt:
code-ollama run gemma4 "Describe this" --image screenshot.pngcode-ollama run gemma4 "Compare these" \
--image before.png \
--image after.png