> ## Documentation index
> Fetch the complete documentation index at: https://haarness.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Find the right command

Run `haarness` in a project folder to open the terminal UI there. Everything else is a
subcommand; `haarness <command> --help` lists its flags. A misspelled command, such as
`haarness doctr`, is reported with the closest one instead of being sent to the model.

This section covers the command line and the settings every Haarness app shares: configuration,
agents, MCP servers, hooks, plugins, extensions, workflows and schedules.

## Start working

| To | Run |
| --- | --- |
| Chat with the agent in this folder | `haarness` |
| Pick up the last chat | `haarness --continue` |
| Run one prompt from a script or CI | [`haarness run "…"`](https://haarness.ai/docs/cli/headless-runs.md) |
| Work on a branch in its own checkout | [`haarness worktree create`](https://haarness.ai/docs/cli/worktrees.md) |
| Open the desktop app, installing it if needed | [`haarness desktop`](https://haarness.ai/docs/desktop/install.md) |
| Connect the terminal UI to a server elsewhere | `haarness attach <url>` |
| Run a server for the desktop app or another machine | [`haarness serve`](https://haarness.ai/docs/server/run-the-server.md) |
| Use Haarness from an editor that speaks ACP | [`haarness acp`](https://haarness.ai/docs/server/acp.md) |

## Find past work

| To | Run |
| --- | --- |
| List, open, fork or archive chats | [`haarness sessions …`](https://haarness.ai/docs/cli/sessions.md) |
| Ask about a chat without changing it | `haarness btw <id> "…"` |
| Export or import a chat | `haarness sessions export \| import` |
| See tokens and cost | [`haarness stats`, `haarness insights`](https://haarness.ai/docs/cli/stats-and-insights.md) |

## Connect models

| To | Run |
| --- | --- |
| Sign in to a provider or store an API key | [`haarness auth login <provider>`](https://haarness.ai/docs/start/connect-a-provider.md) |
| See which providers are connected | `haarness providers` |
| List the models you can use | `haarness models` |
| Add an OpenAI-compatible or other endpoint | [`haarness provider add`](https://haarness.ai/docs/providers/custom-providers.md) |
| Use your own Haarness Router | [`haarness provider connect-router`](https://haarness.ai/docs/providers/router.md) |

## Extend the agent

| To | Run |
| --- | --- |
| Save a reusable prompt, agent or skill | [`haarness command`, `agent`, `skill`](https://haarness.ai/docs/cli/agents-commands-skills.md) |
| Change a built-in prompt, such as the system prompt | [`haarness prompt list \| show \| eject \| diff`](https://haarness.ai/docs/cli/agents-commands-skills.md#change-haarnesss-built-in-instructions) |
| Add tools from an MCP server | [`haarness mcp add`](https://haarness.ai/docs/cli/mcp-servers.md) |
| Keep an MCP server's secret in the system keychain | [`haarness mcp secret set <name>`](https://haarness.ai/docs/cli/mcp-servers.md#keep-a-secret-in-the-system-keychain) |
| Run your own script when something happens in a chat | [Hooks](https://haarness.ai/docs/cli/hooks.md), in your configuration |
| Install a plugin | [`haarness plugin install`](https://haarness.ai/docs/cli/plugins.md) |
| Write your own tool in TypeScript | [`haarness extension init`](https://haarness.ai/docs/cli/extensions.md) |
| Install from the Haarness marketplace | [`haarness marketplace`](https://haarness.ai/docs/cloud/marketplace.md) |

## Use your Chrome

| To | Run |
| --- | --- |
| Let agents work in your own Chrome | [`haarness browser setup`](https://haarness.ai/docs/desktop/use-your-chrome.md#set-up-chrome-from-the-command-line) |
| See whether Chrome is set up and connected | `haarness browser status` |
| Undo the Chrome setup | `haarness browser remove` |

## Automate

| To | Run |
| --- | --- |
| Run a multi-step workflow | [`haarness workflow run`](https://haarness.ai/docs/cli/workflows.md) |
| Run a prompt on a timetable | [`haarness schedule add`](https://haarness.ai/docs/cli/schedules.md) |

## Use Haarness Cloud

| To | Run |
| --- | --- |
| Sign in to your Haarness account | [`haarness login`](https://haarness.ai/docs/cloud/sign-in.md) |
| Sign out of it | `haarness logout` |
| Show or switch the account, plan and credits | `haarness account` |
| Start and manage Cloud workspaces | [`haarness cloud …`](https://haarness.ai/docs/cloud/cli-and-sdk.md) |
| Reach this computer from Haarness Cloud | [`haarness remote …`](https://haarness.ai/docs/cloud/remote-hosts.md) |

## Look after your installation

| To | Run |
| --- | --- |
| Save or restore your settings as a profile | [`haarness profile …`](https://haarness.ai/docs/cli/configuration.md#save-and-restore-your-setup) |
| Check the version and bundled tools | [`haarness doctor`](https://haarness.ai/docs/cli/troubleshooting.md) |
| Find or read the logs | `haarness logs` |
| Log more detail for a while | [`haarness logs level debug`](https://haarness.ai/docs/cli/troubleshooting.md#get-more-detail-in-the-logs) |
| Pack the logs for a bug report | [`haarness logs export`](https://haarness.ai/docs/cli/troubleshooting.md#send-your-logs-with-a-bug-report) |
| Update Haarness | `haarness --update` (or `haarness upgrade --channel preview` for previews) |
| See or stop the usage statistics Haarness shares | [`haarness telemetry status \| preview \| off`](https://haarness.ai/docs/cli/stats-and-insights.md#what-does-haarness-share-with-haarness-cloud) |

## Flags most commands share

| Flag | Does |
| --- | --- |
| `--workspace <path>` | Act on another folder instead of the current one |
| `-c, --continue` | Continue the most recent chat (terminal UI, `run`, `attach`, `worktree open`) |
| `-s, --thread <id>` | Open a specific chat (`--session` also works) |
| `--approvals <mode>` | Put the chat in `review`, `auto` or `yolo` (every request approved once without asking). The chat keeps the mode, in every app, until someone changes it. See [Review, Auto or Yolo](https://haarness.ai/docs/security/permissions.md#review-auto-or-yolo-how-much-does-a-chat-ask) |
| `--auto` | Short for `--approvals auto`: a reviewer model approves routine requests once and leaves the rest to you |
| `--yolo` | Approve every permission prompt, for this command only: a run, or the terminal UI it opens. With `serve`, for every chat; read [what it approves](https://haarness.ai/docs/security/permissions.md#approve-everything-yolo). `--dangerously-skip-permissions` also works |
| `--disable-project-config` | Ignore the project's settings and add-ons, keep yours |
| `--log-level <level>` | `trace`, `debug`, `info`, `warn` or `error` |
| `--print-logs` | Also print logs to the terminal |

`--auto` and `--yolo` cannot be used together. `haarness <command> --help` lists the flags that
command uses.

## What keeps running in the background

The terminal UI, `haarness run` and the other commands that work with chats start a Haarness
server for the folder, or reuse the one already running. The server keeps running after you close
the terminal, so a turn in progress can finish. Each folder has its own server and its own chats.

```sh
haarness serve --daemon    # start it without opening anything
haarness serve --stop      # stop it, ending any turn still running
```

## Next

[Run a prompt from a script or CI](https://haarness.ai/docs/cli/headless-runs.md).
