{"id":"35267086-078b-4ff3-a196-6b30a30449b7","slug":"picocode","kind":"mcp","name":"picocode","summary":"minimalist coding agent","owner":"uthree","repoUrl":"https://github.com/uthree/picocode","license":"Apache-2.0","licenseTier":"permissive","trust":"community","stars":6,"match":null,"fewStars":false,"format":"mcp","createdAt":"2026-07-18T08:16:15.000Z","addedAt":"2026-10-21T21:33:00.724Z","logoUrl":"https://avatars.githubusercontent.com/u/33905956?u=483228638edab6c803ef1467f9e69b7fa368c7c6&v=4","linkOnly":false,"collection":null,"skillPath":null,"categories":["utilities"],"tags":[],"runtime":"binary","local":true,"cloudCapable":false,"cloudCapability":"unknown","cloudReadyOnPlatform":false,"needsApiKey":false,"reviewed":false,"syncedAt":"2026-10-25T21:19:16.112Z","sample":false,"url":"https://conduits.dev/tools/picocode","language":"Rust","transports":["stdio"],"install":{},"requirements":{"env":[],"upstreamMayCharge":false},"tools":null,"readme":"# picocode\n\nA minimal coding agent written in Rust — a pocket-sized take on opencode,\nwith a terminal UI and an experimental native GUI.\n\nBuilt on [rig](https://github.com/0xPlaygrounds/rig)'s provider abstractions,\n[ratatui](https://ratatui.rs) and [gpui](https://gpui.rs). Defaults to a\nlocal LLM via Ollama, and can talk to Anthropic, OpenAI, or any\nOpenAI-compatible server (vLLM, etc.).\n\n## Features\n\n- **Chat** with streaming output, markdown rendering, syntax-highlighted\n  code blocks and line diffs for file edits\n- **8 default tools**: `read_file` / `list_files` / `grep` / `edit_file` /\n  `bash` / `web_search` / `web_fetch` / `submit_plan` — file tools are\n  confined to the project directory, symlinks leading out of it included\n- **Opt-in subagents** — `subagents = true` enables `delegate_task` and\n  `agent_result` for parallel tasks. Off by default\n- **Approval flow** for anything that changes state or talks to the\n  network, with allow/deny rules and **permission modes**\n  (read-only / edit / plan / auto / bypass) — `auto` hands the\n  confirmations to a reviewer model, with deny rules and the destructive\n  commands still reserved for you\n- **Goals** (`/goal <condition>`) — picocode keeps starting turns on its\n  own until a reviewer model judges the condition met (bounded by\n  `goal_max_rounds`)\n- **Model switching** (`/model`), **context compaction** (`/compact`),\n  **session autosave and resume** (`/resume`, or the GUI's session\n  sidebar), **settings** (`/config`),\n  **direct shell** (`!<command>`), **instruction files** (`AGENTS.md`),\n  **pluggable web search** (DuckDuckGo / SearXNG / Brave)\n- **File attachments** — send images (and audio / PDF on providers that\n  support them) with a prompt: drag & drop, 📎 or ⌘V in the GUI,\n  `/attach` or Ctrl+V in the TUI — pasting clipboard files and\n  screenshots stages them as attachments\n- **Opt-in MCP** — connect Model Context Protocol servers (stdio or\n  streamable HTTP) via `[[mcp_servers]]` in picocode.toml; their tools\n  go through the same approval flow as the built-ins. Off by default:\n  no configuration, no extra tools, nothing for a small model to\n  get confused by\n- **Opt-in sandbox** — `[sandbox]` in picocode.toml runs model-initiated\n  bash commands inside the OS sandbox (macOS sandbox-exec, Linux\n  Landlock): writes confined to the project root and temp, network\n  optionally blocked — a guard rail for bypass mode\n- **Remote workspaces over SSH** — `--remote host:/path` opens a project\n  on another machine: every tool (read, edit, list, grep, bash) operates\n  on the host over your existing `ssh` config (keys, agent, ProxyJump —\n  picocode never handles credentials). The host project's own\n  `picocode.toml` and instruction files apply; `/remote` switches\n  workspaces without restarting. The conversation log stays on your local\n  machine\n\n## Install\n\nPrebuilt TUI binaries for macOS (Apple Silicon / Intel), Linux (x86_64)\nand Windows (x86_64, experimental) are on the\n[releases page](https://github.com/uthree/picocode/releases), or one line:\n\n```sh\ncurl --proto '=https' --tlsv1.2 -LsSf \\\n  https://github.com/uthree/picocode/releases/latest/download/picocode-tui-installer.sh | sh\n```\n\nWindows (PowerShell):\n\n```powershell\nirm https://github.com/uthree/picocode/releases/latest/download/picocode-tui-installer.ps1 | iex\n```\n\nThe native GUI ships as a prebuilt binary for macOS (installed the same\nway — the curl download carries no quarantine attribute, so Gatekeeper\ndoes not object; it is a bare binary, not a .app bundle):\n\n```sh\ncurl --proto '=https' --tlsv1.2 -LsSf \\\n  https://github.com/uthree/picocode/releases/latest/download/picocode-gui-installer.sh | sh\n```\n\nThen launch it with `picocode-gui`. On other platforms the GUI is built\nfrom source (see below).\n\n## Quick start\n\n```sh\nbrew install ollama          # other platforms: https://ollama.com/download\nbrew services start ollama\nollama pull qwen3:4b\ncargo run                    # TUI\ncargo run -p picocode-gui    # GUI (same flags)\n```\n\nCloud providers and other endpoints:\n\n```sh\npicocode --provider anthropic              # uses ANTHROPIC_API_KEY\npicocode --provider openai --model gpt-4o  # uses OPENAI_API_KEY\npicocode --base-url http://host:8000/v1 --provider openai --model qwen3:4b\n```\n\nHeadless (for scripts and pipes — the reply goes to stdout, tool logs to\nstderr; confirmation-needing tool calls are denied unless `--bypass`):\n\n```sh\npicocode -p \"Explain the build setup\" --attach Cargo.toml\n```\n\n## Configuration\n\npicocode reads `picocode.toml` from the project root, merged over the\nglobal `~/.config/picocode/config.toml`:\n\n```toml\n[[models]]\nname = \"local\"\nprovider = \"ollama\"\nmodel = \"qwen3:4b\"\n\n[approval]\nallow_bash = [\"cargo\", \"git status\"]\ndeny_bash  = [\"sudo\", \"rm -rf\"]\n```\n\nDestructive tools ask for y/n confirmation by default; `a` (always)\nwhitelists similar calls for the session, and plan/bypass modes tighten or\nlift the gate. Everything — model selection and precedence, all config\nkeys, permission modes and bash rules, sessions — is described in\n[docs/configuration.md](docs/configuration.md).\n\n## Documentation\n\n- [docs/configuration.md](docs/configuration.md) — models, permissions,\n  sessions, and every `picocode.toml` key\n- [docs/tui.md](docs/tui.md) — TUI key bindings, slash commands, display\n  details\n- [docs/gui.md](docs/gui.md) — GUI features and build notes\n- [docs/architecture.md](docs/architecture.md) — workspace layout: the\n  `picocode-core` engine and the two front-end crates\n- [docs/subagents.md](docs/subagents.md) — delegating tasks to parallel agents\n"}