# o4 > Documentation for o4, the coding agent for your terminal. - [Introduction](https://docs.open4rena.ai/index.md): What o4 is, what it can do, and how it works. - [Install o4](https://docs.open4rena.ai/installation.md): Install o4 on macOS or Linux with the install script, Homebrew, or a release archive. - [Quickstart](https://docs.open4rena.ai/quickstart.md): Connect a model and finish your first task with o4. - [The interface](https://docs.open4rena.ai/guides/interface.md): How the o4 terminal interface is laid out, and how its input modes work. - [Writing prompts](https://docs.open4rena.ai/guides/prompting.md): Type prompts, point o4 at files, attach images, and send messages while it works. - [Sessions](https://docs.open4rena.ai/guides/sessions.md): Resume, fork, rename, export, and delete saved conversations. - [Print mode and scripting](https://docs.open4rena.ai/guides/print-mode.md): Run o4 once without the interface, for scripts, pipelines, and CI. - [Context and cost](https://docs.open4rena.ai/guides/context-and-cost.md): See how much of the context window and budget a session uses, and compact it. - [Git and code review](https://docs.open4rena.ai/guides/git-and-review.md): Review the changes o4 made, commit them, and ask for a code review. - [Undo and rewind](https://docs.open4rena.ai/guides/checkpoints.md): Undo o4's last edits, or rewind files and the conversation to an earlier turn. - [Watch mode](https://docs.open4rena.ai/guides/watch.md): Run your project's check whenever files change, and let o4 fix failures. - [Plan mode](https://docs.open4rena.ai/guides/plan-mode.md): Let the model research and plan before it changes any files. - [Goals](https://docs.open4rena.ai/guides/goals.md): Give the model one objective to keep working on across turns. - [Todos and background tasks](https://docs.open4rena.ai/guides/tasks-and-todos.md): Track the model's todo list, and run shell commands and prompts in the background. - [Subagents](https://docs.open4rena.ai/guides/subagents.md): Let the model hand work to subagents that run in their own context. - [Campaigns](https://docs.open4rena.ai/guides/campaigns.md): Split one objective across several agents that work in parallel. - [Memory](https://docs.open4rena.ai/guides/memory.md): What o4 remembers between sessions, where it's stored, and how to clear it. - [Code intelligence](https://docs.open4rena.ai/guides/code-intelligence.md): The code index, language servers, and architecture diagrams the model uses to understand a codebase, plus Workspace Radar and Project Scout. - [Choosing a model](https://docs.open4rena.ai/models/overview.md): Pick and switch models, and keep the model list up to date. - [Providers and API keys](https://docs.open4rena.ai/models/providers.md): The model providers o4 supports, and how to add API keys. - [Claude and ChatGPT subscriptions](https://docs.open4rena.ai/models/subscriptions.md): Use a Claude Code or ChatGPT/Codex subscription instead of an API key. - [Local models](https://docs.open4rena.ai/models/local-models.md): Run o4 against models on your own machine. - [OpenAI-compatible endpoints](https://docs.open4rena.ai/models/openai-compatible.md): Connect o4 to any endpoint that speaks the OpenAI API. - [Model router and fallback](https://docs.open4rena.ai/models/router.md): Switch to another model automatically when a provider is rate limited, overloaded, or failing. - [Reasoning and prompt profiles](https://docs.open4rena.ai/models/reasoning.md): Control how hard a model thinks, and which prompt profile o4 uses. - [Permissions](https://docs.open4rena.ai/safety/permissions.md): Choose what o4 may do without asking, with permission modes and rules. - [Sandbox](https://docs.open4rena.ai/safety/sandbox.md): Limit what shell commands from the model can read, write, and reach. - [Workspace trust](https://docs.open4rena.ai/safety/workspace-trust.md): Why o4 ignores a project's hooks and MCP servers until you trust it. - [Configuration files](https://docs.open4rena.ai/configuration/overview.md): Where o4 keeps its settings, and which file wins. - [Project instructions](https://docs.open4rena.ai/configuration/project-instructions.md): Give o4 standing instructions for a project with AGENTS.md and related files. - [Themes and display](https://docs.open4rena.ai/configuration/appearance.md): Change o4's theme, key bindings, and display options. - [MCP servers](https://docs.open4rena.ai/extend/mcp.md): Connect external tools to o4 with the Model Context Protocol. - [Plugins and marketplaces](https://docs.open4rena.ai/extend/plugins.md): Install plugins that add commands, skills, agents, and more. - [Skills](https://docs.open4rena.ai/extend/skills.md): Package reusable instructions that you or the model can load when they apply. - [Hooks](https://docs.open4rena.ai/extend/hooks.md): Run your own commands when o4 reaches certain points in a session. - [Harness guides and sensors](https://docs.open4rena.ai/extend/harness.md): Give o4 project-specific guides and check commands with .o4/harness.toml. - [CodeMode (experimental)](https://docs.open4rena.ai/extend/codemode.md): Let the model write JavaScript programs that call o4's tools. - [Language servers and formatters](https://docs.open4rena.ai/extend/lsp-and-formatters.md): Give the model code navigation through language servers, and a tool to format files. - [The o4 daemon](https://docs.open4rena.ai/extend/daemon.md): Start, stop, and check the experimental o4 background daemon. - [Evaluations](https://docs.open4rena.ai/extend/evals.md): Run o4 on a set of coding tasks and compare how models do. - [Troubleshooting](https://docs.open4rena.ai/help/troubleshooting.md): Fix common problems with installing and running o4. - [Telemetry and privacy](https://docs.open4rena.ai/help/telemetry-and-privacy.md): What o4 sends, what it never sends, and how to turn telemetry off. - [Feedback and support](https://docs.open4rena.ai/help/feedback.md): Report a bug or send feedback about o4. - [CLI reference](https://docs.open4rena.ai/reference/cli.md): Every o4 command-line command and option. - [Slash commands](https://docs.open4rena.ai/reference/slash-commands.md): Every slash command you can type in o4. - [Tools](https://docs.open4rena.ai/reference/tools.md): The tools the model can call while it works. - [Keyboard shortcuts](https://docs.open4rena.ai/reference/keyboard-shortcuts.md): Keys for the prompt, the transcript, and dialogs. - [Configuration reference](https://docs.open4rena.ai/reference/configuration.md): Every setting in o4's configuration files. - [Environment variables](https://docs.open4rena.ai/reference/environment-variables.md): Environment variables that change how o4 behaves.