Desktop logs expected project trust-gate diagnostic as high-volume ERROR rows in logs_2.sqlite

Open 💬 1 comment Opened Jul 9, 2026 by aidawilliam41-ops

What version of the Codex App are you using?

Codex Desktop App: 26.623.19656.0

Bundled / PATH CLI observed locally:

codex-cli 0.142.5

What subscription do you have?

Not relevant to the local logging behavior.

What platform is your computer?

Windows x64.

What issue are you seeing?

Codex Desktop appears to persist an expected project trust-gate diagnostic as repeated ERROR rows in the local SQLite log database.

The message is the normal trust-gate diagnostic:

Project-local config, hooks, and exec policies are disabled in the following folders until the project is trusted, but skills still load.
    1. C:\Users\<user>\Documents\Codex\...\<project>\.codex
       To load project-local config, hooks, and exec policies, add c:\users\<user>\documents\codex\...\<project> as a trusted project in C:\Users\<user>\.codex\config.toml.

In the local C:\Users\<user>\.codex\logs_2.sqlite, a read-only query found:

level:  ERROR
target: codex_app_server
count:  1,524 rows
first observed: 2026-07-03T07:22:06Z
last observed:  2026-07-07T14:49:16Z

This looks like a diagnostic / expected trust state, not a runtime failure. Logging it as ERROR repeatedly has two bad side effects:

  1. It pollutes local error telemetry and makes real Codex errors harder to find.
  2. It amplifies local SQLite logging churn, which is especially unfortunate given the existing reports about excessive logs_2.sqlite / WAL write volume.

What steps can reproduce the bug?

  1. On Windows, create or open a project containing a project-local .codex folder.
  2. Leave that project untrusted, or have Codex see it as untrusted.
  3. Start Codex Desktop / app-server with that project in recent workspace state.
  4. Inspect C:\Users\<user>\.codex\logs_2.sqlite for rows matching:
select count(*)
from logs
where level = 'ERROR'
  and target = 'codex_app_server'
  and feedback_log_body like '%Project-local config, hooks, and exec policies are disabled%';

What is the expected behavior?

The trust-gate diagnostic should probably be logged as WARN or INFO, or be de-duplicated / rate-limited if it is expected startup state.

ERROR should be reserved for unexpected failures that require attention.

What is the actual behavior?

The expected trust-gate diagnostic is stored as repeated ERROR rows in logs_2.sqlite.

Additional information

This is adjacent to, but distinct from:

  • #19281: Windows trust lookup path normalization (\\?\ path vs normalized path)
  • #15018: Desktop silently ignores project trust requirement
  • #28224 / related reports: excessive SQLite log write volume

This report is not claiming that project-local config should load from an untrusted project. The narrower issue is the logging severity / repetition: an expected trust-gate condition should not create high-volume ERROR noise in the local SQLite log database.

View original on GitHub ↗

This issue has 1 comment on GitHub. Read the full discussion on GitHub ↗