# The assistant

Use one ACP conversation with shared console context and explicit document edits.

Aion's assistant is one ACP conversation that you open from the console. It can read the context you share and propose changes in the document you are editing. It is separate from a workflow's agent workers.

## Choose a harness

The stock build carries a catalogue of Claude Code, Codex, Gemini CLI, OpenCode and Pi harnesses. The console reports which can run on the server host and gives an install hint for unavailable entries.

Install the harness and complete its login on that host. Starting the server and running a pure AWL workflow require no agent harness.

## One conversation

The side panel and inline editor entry use the selected conversation. Page context, document text, selection and caret location can be shared with it. The session credential binds editing tools to that conversation.

A question needs an answer. A document change should be requested explicitly. Edits quote text that occurs exactly once and apply as one atomic batch. They update the editor buffer; saving remains the operator's action.

## Check an edit

The conversation's check tool runs the editor's own AWL check over the shared document. Re-read after a concurrent change rather than applying edits against an old buffer.

The three [conversation tools](/aion/reference/mcp-assistant-schemas/) are separate from the public MCP catalogue and are not controlled by the public MCP enable switch.

## Sessions and recovery

The server stores session records and transcripts durably. A harness process is live state. After a restart, a session is dormant when the harness supports loading it, or ended when loading is unsupported. Transcript storage preserves the conversation text. Resuming execution also requires harness support.

## Named accounts

The optional assistant configuration declares account names and environment variable names. Both sides of the map are names; the values come from the server environment when spawning. Credential-shaped names are refused.

**aion.toml — optional named account**

```toml
[[assistant.harness]]
name = "claude-code"

[[assistant.harness.account]]
name = "work"
env = { CLAUDE_CONFIG_DIR = "AION_CLAUDE_WORK_DIR" }
```


The account's login state remains the harness's own state on disk. Read [access configuration](/aion/reference/configuration-access/) for its fields.

On main, crates/aion-server/src/api/http/router.rs:298–308 mounts the conversation tools independently of public MCP. Session and transcript routes are at :327–363. A working conversation also requires the selected ACP harness’s own installation and login.
