Peri Code CLI
A Rust coding agent for the terminal with parallel agents, goals, Claude Code-format plugins and your own model endpoint.
- 248 ★ on the repository
- Last commit
- Apache-2.0
Broad access
Why this level
- By default tool calls, including running commands and writing files, are approved without asking.
- Artifacts are published as public links, and the installer runs from the network.
Install
Manual install
curl -fsSL https://raw.githubusercontent.com/konghayao/peri/main/scripts/install.sh | bashFor macOS and Linux; Windows uses `irm .../install.ps1 | iex`, and mise install is also available.
Access and checks
How we reviewBroad accessThe tool can change data, run commands or handle secrets.
- By default tool calls, including running commands and writing files, are approved without asking.
- Artifacts are published as public links, and the installer runs from the network.
This is third-party code. Review the repository files before installing.
What it does
Peri Code is a native coding agent in Rust for macOS, Linux and Windows. You bring your own Anthropic or OpenAI-compatible endpoint, run `peri` in a project and work in the terminal. Mode `peri -p "task"` runs one task and exits, `peri -c` continues the last session, and `peri acp --cwd /path/to/project` works as an ACP client. In-session commands split work into roles. `/ultra-adlc` leads from idea to delivery through discovery, design, review, build and verification, `/ultracode` runs agents in parallel with a chosen model for each, and `/multitask` sends tasks to the background. It also has multi-turn goals, scheduled recurring tasks, publishing HTML or Markdown reports as public links, plugins, hooks, skills, model profiles, rewind, fork and resume.
Who it is for. Developers who prefer the terminal and want an agent with parallel work that uses their own model key.
Good fit when
- A large task splits into parts and several agents should handle them at once on different models.
- A job is sent to the background while you keep talking to the agent in the main session.
- Plugins written for Claude Code should run in another agent.
- A recurring repository check runs on a schedule while Peri is running, and a goal persists across turns.
- Batch processing in CI fits a headless `peri -p` run.
Not a fit when
- Code cannot be sent to a model provider: Peri passes context to whichever API address you configured.
- You need a graphical shell: Peri works in the terminal, headless and through ACP.
- You need exact Claude Code compatibility: support for individual features varies.
Example request
/ultracode split the payment module into three parts, assign each to a separate agent, then merge the result.Limitations
Installation uses a script downloaded from GitHub and run in the shell, so read `install.sh` first. Tool calls are auto-approved by default, and the `--permission-mode default` flag turns on confirmation prompts. Workflows need Node.js, and extensions may need other dependencies. Claude Code compatibility varies by feature, and caching depends on your provider and workload. The model is set up after installation with `/login` and `/model`, then Peri must be restarted. A published artifact sits behind a public link, so keep private data out of the report.
How to disable. Delete the `peri` binary, the `~/.peri` directory with settings and sessions, and any published artifacts that remain online.
FAQ
How do I install Peri Code?
On macOS and Linux run `curl -fsSL https://raw.githubusercontent.com/konghayao/peri/main/scripts/install.sh | bash`, on Windows `irm https://raw.githubusercontent.com/konghayao/peri/main/scripts/install.ps1 | iex`. Then run `peri` in a project.
Which models can I connect?
Any Anthropic or OpenAI-compatible endpoint. Add providers with `/login` and pick model profiles through `/model`.
How do I turn on action confirmation?
Launch the agent with the `--permission-mode default` flag. Without it tool calls are auto-approved.
Where are settings and sessions stored?
Settings live in `~/.peri/settings.json` and sessions in `~/.peri/threads/threads.db`. The `--config-file` and `--db-path` flags change the paths.
How do I run a single task without the interface?
Run `peri -p "Review this branch"`: the agent completes the task and exits. `peri -c` continues the last session and `peri update` updates the program.
Discussion
No questions or reviews yet.
Related
CLI toolsA Rust coding agent with a native GUI, a terminal mode, an ACP mode for Zed and an MCP server
A Python terminal coding agent in the manner of Claude Code: reads the repository, edits files, runs commands, with memory, sub-agents and MCP
Rust coding agent for the terminal and CI built around DeepSeek models that reads code, edits files and runs commands
An MCP server and CLI for code research: search and understand your project and all of GitHub with fewer tokens
A Rust SDK for coding agents and the ready-made abstract CLI: REPL, 34 tools, MCP, graph memory, Anthropic and OpenAI, JSON output for CI
MiniCode is a compact TypeScript terminal coding agent like Claude Code: tool loop, TUI, skills, MCP and sub-agents, built for study and tinkering
Comparison with similar tools
Cards that share the main search query, and how they differ.
| Tool | Official | Repository stars | Main difference |
|---|---|---|---|
| Peri Code (this card) | no | 248 | |
| OpenCode | no | 224,828 | an open terminal agent with build and plan modes; Peri adds parallel agents, goals, schedules and Claude Code-format plugins |
| Crush | no | 28,980 | Charm's terminal agent with LSP and mid-session model switching; Peri focuses on agent teamwork and publishing reports |
README in short
The author presents Peri as a lightweight agent: the repository description cites 50 MB of memory. Development is AI-assisted, with humans responsible for review and releases. Documentation lives on a separate site.