Introduction
A terminal coding agent written in Go with a Bubble Tea UI. It works with Anthropic, OpenAI, Google Gemini, and OpenAI-compatible endpoints including NVIDIA NIM, OpenRouter, Ollama, Groq, DeepSeek, xAI, Mistral, Together, and LM Studio.
Getting startedTo build and install larik into /usr/local/bin:Model routingAn agent spends most of its tokens reading: searching files, re-reading context, running routine edits. Those don't need your best model. Larik lets the main agent plan and…Commands and keysThe input row fills the terminal width, stays at the bottom, and grows up to ten lines as you type. The conversation scrolls above it with Page Up/Down, the mouse wheel, or…PermissionsLeaving plan mode. In plan mode the model is told it is planning, and when the plan is ready it calls exit_plan_mode. Larik prints the plan in the conversation and asks: Yes,…Webweb_fetch downloads a page and returns its main content as Markdown:Sandboxbash commands run in the operating system's sandbox: Seatbelt (sandbox-exec) on macOS, and bubblewrap (bwrap) on Linux when installed.Server modelarik serve exposes the current directory's agent over a local HTTP API. Each session streams its events over Server-Sent Events (SSE), so editors, web UIs and scripts can…Debug mode and tracesDebug mode records what the harness does in a session, so you can review it afterwards or watch it live: each prompt, every model request as it was sent (system prompt, tools,…ConfigurationSettings are read in this order. Later personal files override model, provider, permission mode, and allow-rule settings; shared project files can only tighten security:MCP serversLarik connects to Model Context Protocol servers over stdio, streamable HTTP, or SSE. It reads servers from mcp_servers in any Larik settings file, and from a project .mcp.json…SkillsLarik supports Agent Skills: folders containing a SKILL.md with YAML frontmatter, plus optional scripts and resources.SubagentsThe model can delegate work to subagents with the task tool. Each subagent gets a fresh context window, its own system prompt and a restricted tool set. Only its final message…Language servers (LSP)Larik runs language servers so the model gets compiler feedback on its own edits and can navigate code semantically.HooksHooks run at points in the agent lifecycle: shell commands, or prompts a model answers. The format matches Claude Code's, so existing hooks work. Matchers are case-insensitive,…
Internals →How Larik works inside, with diagrams: the agent loop, providers, persistence and the security model.