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

# Local, Project, and Global Settings

> Configure shared repository behavior, personal overrides, and the files Entire writes under .entire.

Entire uses a layered configuration system that allows project-wide settings to be shared via Git while supporting personal overrides.

Use this page when you are deciding whether a setting should apply to everyone on the project, only to your machine, or to all repositories you work in.

**Local Settings**

Local settings have the highest priority and are used for personal preferences, private rules, machine-specific paths, and temporary debugging.

## Local Settings File

Local settings are stored in `.entire/settings.local.json` and are automatically ignored by Git.

Local settings are merged with project settings. You only need to specify the settings you want to override:

```json .entire/settings.local.json theme={null}
{
  "log_level": "debug",
  "telemetry": false
}
```

## Local Settings Reference

Use these settings locally when the behavior should not affect teammates.

| Setting path | Type | Use for | Learn more |
| - | - | - | - |
| `commit_linking` | string | Personal commit-linking behavior during `git commit` | [Capture Sessions and Their Checkpoints](/guides/checkpoints/capture-checkpoints#link-future-commits-automatically) |
| `strategy_options.push_sessions` | boolean | Checkpoint push behavior only on your machine | [Checkpoint Storage](/guides/checkpoints/keep-checkpoints-local) |
| `strategy_options.checkpoint_remote` | object | Personal checkpoint remote while testing storage behavior | [Checkpoint Storage](/guides/checkpoints/store-checkpoints-in-another-repo) |
| `redaction.pii.enabled` | boolean | Optional PII redaction for your own captured sessions | [Privacy and Redaction](/guides/configuration/privacy-and-redaction#pii-redaction) |
| `redaction.custom_redactions` | object | Private regex redaction rules that should not be committed | [Privacy and Redaction](/guides/configuration/privacy-and-redaction#user-defined-redaction) |
| `redaction.externalize_images` | boolean | Move inline base64 images into the checkpoint asset store on your machine | [Privacy and Redaction](/guides/configuration/privacy-and-redaction#externalized-images) |
| `redaction.openai_privacy_filter` | object | Personal OpenAI Privacy Filter settings, including `prompt_default` | [Privacy and Redaction](/guides/configuration/privacy-and-redaction#openai-privacy-filter) |
| `redaction.openai_privacy_filter.command` | string | Path to your `opf` binary. Read only from an untracked local settings file | [Privacy and Redaction](/guides/configuration/privacy-and-redaction#the-command-setting) |
| `telemetry` | boolean/null | Personal analytics preference in this repository | [Privacy and Redaction](/guides/configuration/privacy-and-redaction#telemetry) |
| `sign_checkpoint_commits` | boolean | Personal checkpoint commit signing preference | [Privacy and Redaction](/guides/configuration/privacy-and-redaction#checkpoint-commit-signing) |
| `log_level` | string | Temporary debug logging without changing team settings | [Logging and Diagnostics](/guides/configuration/logging-and-diagnostics#log-level) |
| `external_agents` | boolean | Agent integration discovery only on your machine | [Set Up an Agent](/agents/setup#agent-integrations) |
| `absolute_git_hook_path` | boolean | Full `entire` binary path in Git hooks for GUI Git clients on your machine | [Git Hooks](/guides/configuration/git-hooks#gui-git-clients) |

## Modify Local Settings

**Use the CLI**

Add `--local` when the command should write to `.entire/settings.local.json`.

```bash theme={null}
entire configure --local --telemetry=false
entire configure --local --skip-push-sessions
entire configure --local --absolute-git-hook-path
```

If a setting does not have a CLI flag, edit `.entire/settings.local.json` directly.

**Edit JSON**

Edit `.entire/settings.local.json` directly:

```bash theme={null}
vim .entire/settings.local.json
```

Top-level settings are written directly:

```json .entire/settings.local.json theme={null}
{
  "log_level": "debug"
}
```

Dotted setting paths are written as nested objects:

```json .entire/settings.local.json theme={null}
{
  "redaction": {
    "custom_redactions": {
      "private_codename": "PROJECT_[A-Z]{4}"
    }
  }
}
```

## Verify Local Settings

After editing local settings, run:

```bash theme={null}
entire status --detailed
```

Use this to confirm Entire is still reading the repository configuration. If the behavior does not match `.entire/settings.local.json`, check the setting name and JSON nesting. Local settings override project and global settings for the same setting path.

**Project Settings**

Project settings apply to the current repository and are used for shared behavior such as checkpoint storage, team redaction rules, and default repository behavior.

## Project Settings File

Project settings are stored in `.entire/settings.json`.

When Entire creates project settings, the file starts with:

```json .entire/settings.json theme={null}
{
  "enabled": true
}
```

Most projects can start here. Add settings only when the repository should share that behavior.

## Project Settings Reference

Use these settings in `.entire/settings.json` when the behavior should apply to the whole project.

| Setting path | Type | Default | Description | Learn more |
| - | - | - | - | - |
| `enabled` | boolean | `true` | Whether Entire is active in this repository | [Local, Project, and Global Settings](/guides/configuration/settings-layers#project-settings-file) |
| `commit_linking` | string | `"prompt"` | Controls whether Entire prompts before linking a Git commit to recent agent session context | [Capture Sessions and Their Checkpoints](/guides/checkpoints/capture-checkpoints#link-future-commits-automatically) |
| `strategy_options.push_sessions` | boolean | `true` | Automatically push checkpoint data when someone runs `git push` | [Session Storage](/guides/checkpoints/checkpoint-storage#store-checkpoints-with-your-code) |
| `strategy_options.checkpoint_remote` | object | `null` | Push checkpoint data to a separate repository | [Checkpoint Storage](/guides/checkpoints/store-checkpoints-in-another-repo) |
| `strategy_options.summarize.enabled` | boolean | `false` | Auto-generate checkpoint summaries at commit time | [Session Storage](/guides/checkpoints/checkpoint-storage#auto-generate-checkpoint-summaries) |
| `redaction.betterleaks.enabled` | boolean | `true` | Run Betterleaks for secret pattern matching | [Privacy and Redaction](/guides/configuration/privacy-and-redaction#secret-scanner-engines) |
| `redaction.goredact.enabled` | boolean | `false` | Run goredact for secret pattern matching | [Privacy and Redaction](/guides/configuration/privacy-and-redaction#secret-scanner-engines) |
| `redaction.pii.enabled` | boolean | `false` | Enable optional PII redaction on top of always-on secret redaction | [Privacy and Redaction](/guides/configuration/privacy-and-redaction#pii-redaction) |
| `redaction.custom_redactions` | object | `{}` | Add shared regex rules that replace matches with `REDACTED` | [Privacy and Redaction](/guides/configuration/privacy-and-redaction#user-defined-redaction) |
| `redaction.externalize_images` | boolean | `false` | Move inline base64 images out of transcripts into the checkpoint asset store | [Privacy and Redaction](/guides/configuration/privacy-and-redaction#externalized-images) |
| `redaction.openai_privacy_filter.enabled` | boolean | `false` | Run the OpenAI Privacy Filter over checkpoints at push time | [Privacy and Redaction](/guides/configuration/privacy-and-redaction#openai-privacy-filter) |
| `checkpoints.primary.type` | string | `git-refs` on first-time setup | Checkpoint storage backend: `git-refs` or `git-branch` | [Session Storage](/guides/checkpoints/checkpoint-storage) |
| `telemetry` | boolean/null | `null` | Send anonymous usage analytics for this repository | [Privacy and Redaction](/guides/configuration/privacy-and-redaction#telemetry) |
| `sign_checkpoint_commits` | boolean | `true` | Sign checkpoint commits using your existing Git signing key | [Privacy and Redaction](/guides/configuration/privacy-and-redaction#checkpoint-commit-signing) |
| `log_level` | string | `"info"` | Log verbosity: `debug`, `info`, `warn`, `error` | [Logging and Diagnostics](/guides/configuration/logging-and-diagnostics#log-level) |
| `external_agents` | boolean | `false` | Enable discovery of `entire-agent-<name>` agent integrations from `$PATH` | [Set Up an Agent](/agents/setup#agent-integrations) |
| `absolute_git_hook_path` | boolean | `false` | Embed the full `entire` binary path in Git hooks for GUI Git clients | [Git Hooks](/guides/configuration/git-hooks#gui-git-clients) |

## Modify Project Settings

To enable agent integration discovery in project settings, add:

```json .entire/settings.json theme={null}
{
  "external_agents": true
}
```

**Use the CLI**

Add `--project` when the command should write to `.entire/settings.json`.

```bash theme={null}
entire configure --project --checkpoint-remote github:owner/repo
entire configure --project --skip-push-sessions
entire configure --project --telemetry=false
```

If a setting does not have a CLI flag, edit `.entire/settings.json` directly.

**Edit JSON**

Edit `.entire/settings.json` directly:

```bash theme={null}
vim .entire/settings.json
```

Top-level settings are written directly:

```json .entire/settings.json theme={null}
{
  "telemetry": false
}
```

Dotted setting paths are written as nested objects:

```json .entire/settings.json theme={null}
{
  "strategy_options": {
    "push_sessions": false
  }
}
```

## Verify Project Settings

After editing project settings, run:

```bash theme={null}
entire status --detailed
```

Use this to confirm Entire is still reading the repository configuration. If the behavior does not match `.entire/settings.json`, check for an override in `.entire/settings.local.json`. Local settings have higher priority than project settings.

**Global Settings**

Global settings apply to all repositories and are used for personal defaults that should apply across projects.

## Global Settings File

Global settings are stored in `~/.config/entire/settings.json`.

Use global settings for personal defaults that should apply across repositories.

Example:

```json ~/.config/entire/settings.json theme={null}
{
  "telemetry": false
}
```

## Global Settings Reference

Use global settings for personal defaults that should apply unless a project or local setting overrides them.

| Setting path | Type | Default | Description |
| - | - | - | - |
| `telemetry` | boolean | `false` | Default telemetry setting for new repositories |

## Modify Global Settings

**Use the CLI**

`entire configure` updates repository settings. There is no global flag for `entire configure`, so edit `~/.config/entire/settings.json` directly.

**Edit JSON**

Create the config directory if it does not exist, then edit the file:

```bash theme={null}
mkdir -p ~/.config/entire
vim ~/.config/entire/settings.json
```

Example:

```json ~/.config/entire/settings.json theme={null}
{
  "telemetry": false
}
```

## Verify Global Settings

After editing global settings, run this from an Entire-enabled repository:

```bash theme={null}
entire status --detailed
```

Use this to confirm Entire is still reading configuration. Global settings apply only when the same setting is not set in `.entire/settings.json` or `.entire/settings.local.json`.
