# Harness settings

> Compare memory, history cleanup, model, and permission settings across the agent harnesses on this device.

The **Coding agents** page in Settings shows how each agent harness on this
device is configured: whether it keeps memories, how long it keeps conversation
history, its default model, and its permission settings. Use it to find out
whether a harness deletes history before Hansard can archive it, or why a
harness has no memories. The page is available only in the app.

The page starts with **Hansard in each agent**, where you add, repair, or
remove Hansard's tools in each agent (see
[Recall in your agents](https://www.hansard.dev/guides/agent-integrations/)), then **Automatic setup** and
**Plan usage**. Its **Memory and transcripts** section only reads settings.
Make those changes in the harness itself.

- App: **Settings → Coding agents**

## Review harness settings in the app

1. Open **Settings → Coding agents**.
2. Under **Memory and transcripts**, read the line under each harness. It states whether memory is on, such as
   **Memory on** or **Memory off**, and for Claude Code how long the CLI keeps
   transcripts, such as **deletes transcripts after 30 days**. Other harnesses
   have no local retention setting Hansard can read. A harness with nothing to
   report reads **No memory or retention settings reported**.
3. Select a harness to see its other settings, such as its default model,
   reasoning effort, and permission mode.
4. Expand **Where these values come from** to see which configuration files
   Hansard read and whether each was found, the setting key behind each value
   with a link to the harness's documentation, and a note on what the setting
   does.
5. After you change a harness's configuration, select **Refresh**.

Only harnesses with a configuration folder on this device appear. The page
reads settings when you open it, so it needs no import.

## What the page shows

| Harness         | Configuration file                                     | Settings shown                                                                                                                                                                    |
| --------------- | ------------------------------------------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Codex           | `~/.codex/config.toml`                                 | Local memories, memory generation and use, memory input age limit, prompt history persistence and size limit, default model, reasoning effort, approval policy, and sandbox mode. |
| Claude Code     | `~/.claude/settings.json`                              | CLI transcript cleanup, Desktop and Cowork cleanup, auto memory, default model, permission mode, and sandbox.                                                                     |
| Grok Build      | `~/.grok/config.toml`                                  | Cross-session memory, default model, and permission mode.                                                                                                                         |
| OpenCode        | `~/.config/opencode/opencode.json` or `opencode.jsonc` | Default model, small model, and global permission.                                                                                                                                |
| Antigravity CLI | `~/.gemini/antigravity-cli/settings.json`              | Tool permission, artifact review, terminal sandbox, and access outside the workspace.                                                                                             |

Under **Where these values come from**, each setting shows where its value
came from:

- **Config file**: the value comes from your configuration file.
- **Default**: the setting is not in your file, so the page shows the
  harness's documented default.
- **Not set**: the setting has no value and no documented default, or Hansard
  could not read the file.

In the settings list, **Not set** means the setting is absent and has no
documented default. **Unknown** means the file is unreadable or holds a value
Hansard does not recognize. Neither means a feature is off or that history is
kept forever.

## Settings that affect your archive

**History cleanup.** Claude Code deletes CLI transcripts older than 30 days by
default, controlled by `cleanupPeriodDays`. Its auto memory files are not
deleted by this cleanup. Recent Claude Code versions keep Desktop and Cowork
transcripts unless `desktopSessionCleanupPeriodDays` or a managed policy sets a
limit. See the
[Claude Code application data reference](https://code.claude.com/docs/en/claude-directory#application-data)
for the current rules.

**Codex memories.** Codex generates memories only when its local memories
feature is on. When Codex reads **Memory off**, the
[Memories](https://www.hansard.dev/guides/memories/) view has no Codex entries. **Saves memories without
using them** and **Uses memories without saving new ones** mean one of the two
memory settings is off. See
[Codex memories](https://learn.chatgpt.com/docs/customization/memories).

Hansard keeps every conversation it has already archived, even after a harness
deletes the original. To capture history before a harness removes it, run a full
import once and keep the watcher running. See
[Background archiving](https://www.hansard.dev/imports/watcher/).

## Limits

- The page shows user-level settings only. A running session can behave
  differently because of project settings, profiles, environment variables,
  command-line flags, app preferences, or managed policy.
- Hansard does not check which version of each harness is installed.
- The page is available from a local connection to the app, including
  read-only mode. It is not available over a remote connection.
