AGENTS AND HARNESSES
Agents and harnesses.
ibara adds computer use to the agent you already run. It is an MCP server, so any agent or harness that can use MCP tools can use your computers, with the same tools and the same access rules.
By Tyler Mayberry · Content updated
Connect your agent#
Your agent connects itself. In the ibara console, choose Connect an Agent in the fleet’s toolbar, then Copy Prompt, and paste it to your agent. On a computer without the console, ibara prompt prints the same prompt. The prompt has the agent do three things itself, so ibara never edits your agent’s files:
- add
ibara mcpto its MCP settings as a local (stdio) server namedibara. One entry reaches every computer you’ve added, including ones you add later; - link the ibara skill, which the package installs at
/usr/share/ibara/skills/ibara, into its skills folder. The skill says when to use ibara and how to work so results can be trusted, and it updates with ibara; - add a short marked block to its user-level instructions file (AGENTS.md, CLAUDE.md or similar), so every session knows ibara is there and when to reach for it.
Then it tells you which computers it can use. The full prompt is on the install page.
- Claude Code: computer use for Claude Code on Omarchy.
- Codex: computer use for Codex on Omarchy.
- Grok Build: Omarchy’s agents panel offers Grok with Claude and Codex. Use the
grokcommand Omarchy already installed. Skip the curl installer on x.ai; Omarchy says that path puts a second copy on your PATH and overwrites its wrapper. After installing ibara, add a user-level stdio server:
That writesgrok mcp add ibara -- ibara mcp~/.grok/config.toml, or$GROK_HOME/config.tomlwhenGROK_HOMEis set. If ibara is already there, use that entry. A project file.grok/config.tomlwith the same name replaces the user entry. Rungrok mcp doctor ibarato check the connection. The command is the stdio form in the Grok Build MCP guide. No Grok-driven desktop task was tested. Finish the skill and instructions steps above, then try the first task on a ready, paired Omarchy spare. - GitHub Copilot CLI: after installing ibara on Omarchy, run
copilot mcp add ibara -- ibara mcp. If ibara is already configured, use that entry.copilot mcp listandcopilot mcp get ibarashow the saved configuration. In a running Copilot session, use/mcp show ibarato inspect the server’s status and tools. Project or plugin settings can override the user entry. An isolated configuration check with Copilot CLI 1.0.103 verified adding, reading and removing this entry; no Copilot-driven desktop task was tested. Finish the skill and instructions steps above, then try the first task on a ready, paired Omarchy spare. See the Copilot CLI MCP guide. - Hermes: after installing ibara on Omarchy, merge this entry into
mcp_serversin~/.hermes/config.yaml, keeping your other servers and settings:
Runmcp_servers: ibara: command: ibara args: [mcp]hermes mcp test ibarato check the connection and discover the tools. Tool discovery checks the connection; finish the prompt’s skill and instructions steps above, then try the first task on a ready, paired Omarchy spare. If ibara is already configured, use that entry. See the Hermes MCP guide for profiles and other settings. - Gemini CLI: after installing ibara on Omarchy, run
gemini mcp add --scope user --transport stdio ibara ibara mcp. User scope makes the entry available across projects; if it already exists, use that entry. Rungemini mcp listto check the connection. Gemini can disable stdio servers in an untrusted folder: review the folder and its contents before trusting it. Adding a server does not require the--trustoption, which skips its tool confirmations. An isolated check with Gemini CLI 0.64.0 and ibara 0.3.1-1 connected successfully; no Gemini-driven desktop task was tested. Finish the skill and instructions steps above, then try the first task on a ready, paired Omarchy spare. See the Gemini CLI MCP guide. - opencode, omp or your own harness: paste the same prompt, or add
ibara mcpas a local (stdio) MCP server namedibarayourself. For opencode, merge this into~/.config/opencode/opencode.json, keeping your other settings and MCP entries. If ibara is already configured, use that entry:
Run{ "mcp": { "ibara": { "type": "local", "command": ["ibara", "mcp"], "enabled": true } } }opencode mcp listto check the connection; project settings can override the user entry. An isolated check with OpenCode 1.18.15 and ibara 0.3.1-1 connected successfully; no OpenCode-driven desktop task was tested. Finish the prompt’s skill and instructions steps above, then try the first task on a ready, paired Omarchy spare. See the OpenCode MCP guide for its configuration options.
Using several Claude Code accounts in Omarchy? If ibara’s tools disappear after switching accounts, reconnect from the account you intend to use: start a new Claude Code session for that account and paste the connection prompt there. Omarchy copies existing MCP server entries when it adds an account; entries added later with claude mcp add stay with that account. See Omarchy’s account-switching guide.
The tools#
Every agent gets the same eleven tools:
| Tool | What it does |
|---|---|
computer_status | Lists the computers this agent may use and their state. Never looks at the screen. |
computer_begin | Starts a task on any ready computer, or a named computer when the work requires it, with the checks it must pass. |
computer_observe | Reads windows, focus and controls, with continuation for longer lists or an image when needed. |
computer_act | Clicks, types, presses keys and scrolls, and checks the result of each step. |
browser_act | Navigates, clicks and types in the browser. |
computer_exec | Runs a supervised command in the task’s workspace. Background jobs retain ownership through a disconnect; a runtime deadline is optional. |
computer_wait | Waits for a step, an expected change or your answer, up to a deadline. |
computer_files | Reads, writes and publishes files in the task’s folder or your home folder (never ibara’s own folders), and sends a file back to the agent’s own computer. |
computer_checkpoint | Saves a note to pick the task up from, asks you a question, or asks you to stop asking before it sends, spends or deletes. |
computer_finish | Reports verified, failed or unknown checks, cancels remaining managed jobs, cleans owned windows and releases the computer when cleanup succeeds. |
computer_procedures | Reads approved procedures and notes about apps. |
In 0.2.0, browser and native actions share one task, ownership and recovery system. browser_act and computer_act remain separate tools for the two kinds of controls. A compact observation is a preview: use next_cursor to read more controls. There is no default action quota or build deadline; an explicitly configured limit is reported and enforced.
Keep builds and their desktop checks in the same task. Use computer_exec with background: true for a longer command, then inspect its op_ref through computer_status. After a connection drops, reconcile the existing task and request IDs before doing anything again. Ordinary SSH commands are outside this supervision and do not reserve a computer. Separate independent tasks can use separate ready computers.
Each computer keeps its own browser session. Google and Gmail sessions are not copied between computers. At sign-in, the person can choose Not now, explain that they do not have an account, continue without signing in, or join to sign in. Eligible other sites can offer Share sign-in; remembering that permission is a separate choice. “No account” authorizes the agent to find a guest route or propose signup, not create an account without authority.
Omarchy and browsers#
- Omarchy 4 on every computer you add; ibara is built for it, and no other system is supported: see the requirements.
- Chromium and Google Chrome on the spare. Every click and keystroke goes through Cua, in apps and in web pages, so pages receive ordinary, trusted input. Built on Cua.