> ## Documentation Index
> Fetch the complete documentation index at: https://docs.entire.io/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.

<Tabs>
  <Tab title="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

    <Tabs>
      <Tab title="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.
      </Tab>

      <Tab title="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}"
            }
          }
        }
        ```
      </Tab>
    </Tabs>

    ## 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.
  </Tab>

  <Tab title="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
    }
    ```

    <Tabs>
      <Tab title="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.
      </Tab>

      <Tab title="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
          }
        }
        ```
      </Tab>
    </Tabs>

    ## 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.
  </Tab>

  <Tab title="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

    <Tabs>
      <Tab title="Use the CLI">
        `entire configure` updates repository settings. There is no global flag for `entire configure`, so edit `~/.config/entire/settings.json` directly.
      </Tab>

      <Tab title="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
        }
        ```
      </Tab>
    </Tabs>

    ## 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`.
  </Tab>
</Tabs>
