Plugins extend CodeAlta with commands, dialogs, status items, timeline cards, agent tools, alta commands and prompt text. CodeAlta ships built-in plugins, and you can write your own source plugins in C#.
A plugin can also hook the tool calls of sessions: check each shell command before it runs, block a call and tell the model why, or change a result. See Tool hooks.
Enable only plugins you trust. A source plugin is built on your machine and loaded into CodeAlta: it has the same risk as running local code.
The plugin API can change between CodeAlta releases.
| Need | Prefer |
|---|---|
| A repeatable session workflow or mode | Agent prompts |
| Agents coordinating sessions, questions, notes and reminders | Delegation |
| External tools from a standard protocol | MCP servers |
| Reusable context that runs no code | Skills |
Host UI, runtime, prompt, timeline or alta command extensions, hooks on tool calls |
Source plugins |
A prompt, an MCP server or a skill is easier to inspect and review. Use a plugin when you need .NET code inside CodeAlta.
| Plugin | What it adds |
|---|---|
| ACP agents | The coding agents of the Agent Client Protocol registry (GitHub Copilot, Gemini CLI, Cursor…) as model providers, from Add provider in Settings > Providers. |
| Git | Issues and pull requests of GitHub, GitLab, Azure DevOps and Bitbucket, the # lookup in a prompt, and the gh, glab and az agent tools. |
| Jira | The issues of a Jira project, for projects that name one. |
| MCP | Model Context Protocol servers, their tools for agents, alta mcp and the MCP Servers page. |
| Mobile | In CodeAlta Desktop: your sessions on a phone, through Tailscale. Off until you turn it on. |
| Statistics | A statistics card for each turn, alta statistics, and in CodeAlta Desktop the Statistics page. |
| UI tools | In CodeAlta Desktop: tools an agent uses to see and drive the window. |
| Browser | In CodeAlta Desktop and altacli: tools an agent uses to drive Chrome, Edge, Firefox or Safari. |
Open plugin management with Ctrl+G Ctrl+N, /plugins or /plugin.


In CodeAlta Desktop, Settings > Plugins lists the plugins:
The CodeAlta TUI dialog shows each plugin's scope and state, its diagnostics (discovery, build, load, contributions, unload), what it contributes, unknown config entries, and actions to open its source and README. For a summary without the interface:
altatui --plugins-status
CodeAlta Desktop and CodeAlta TUI load the same plugins. Agent tools, instructions, alta commands, commands, shortcuts, status items, dialogs, prompt pickers and timeline cards work in both. Each app draws plugin UI its own way, and a plugin can target one app only.
Source plugins are built when CodeAlta starts. The desktop start-up screen names the plugin being built; the TUI shows the build in the console. A failed build shows a notice and the error in Settings > Plugins on the desktop, and in the console and /plugins in the TUI. CodeAlta Desktop also rebuilds a plugin while it runs.
CodeAlta finds source plugins in:
~/.alta/plugins/<package-id>/plugin.cs, for all projects;<project>/.alta/plugins/<package-id>/plugin.cs, for one project, loaded when CodeAlta starts in it.An agent can write a plugin for you. See Plugin development for the workflow and the API, and Plugin UI for what a plugin shows in the window.
Plugins are enabled when discovered, except Mobile, which is off until you turn it on. Disable one in config.toml; built-in plugin ids are lowercase:
[plugins.HelloWorld]
enabled = false
[plugins.git]
enabled = false
When a plugin is broken, start without plugins:
CODEALTA_DISABLE_PLUGINS=1. It works for both apps.altatui --no-plugins or altatui --plugin-safe-mode.These bypasses are read before any plugin's command-line options.