Skip to content

[macOS][Computer History] Recorder creates Skysight segments but 10-minute summaries never start #40386

Open

Description

@grevgeny

What version of the Codex App are you using (From “About Codex” dialog)?

ChatGPT desktop 26.818.61809 (build 7019)

Additional bundled versions:

Computer History plugin: 1.0.1000854
Bundled CLI: codex-cli 0.149.0-alpha.4.3

What subscription do you have?

ChatGPT Pro

What platform is your computer?

Darwin 25.6.0 arm64 arm

What issue are you seeing?

Computer History has remained empty after being enabled for several days. The settings page continues to show:

No computer history yet

The recording stage itself is working:

  • Computer History reports state=running.
  • SkyComputerUseService is running.
  • Fresh event-stream segments continue to appear under the Skysight segment directory.
  • The effective observation settings use observe as the default for both applications and URLs, with empty allowlists and blocklists.

However, no memory summary is ever written. At the latest check:

Skysight event-stream segment directories: 55
~/.codex/memories/extensions/skysight/resources files: 0

The current segment started normally at 2026-08-24T11:20:00Z, and the recording session had been running since 2026-08-24T10:43:31Z after the latest restart. Multiple complete 10-minute windows passed without a single 10min summary file.

Fully quitting and reopening ChatGPT did not resolve the problem. Updating the app from 26.818.41509 (build 6962) to 26.818.61809 (build 7019) also did not resolve it.

The updated application contains Contents/Resources/codex_chronicle, but the summarization stage does not produce output. This appears to be a scheduler or helper-launch failure after successful event capture, rather than a screen-recording permission or observation-filter failure.

What steps can reproduce the bug?

  1. Enable Computer History in ChatGPT desktop on macOS.

  2. Leave the application running and use the computer normally for longer than several 10-minute summary windows.

  3. Confirm that Computer History reports running and that new directories appear under:

    ~/Library/Group Containers/2DC432GLL2.com.openai.sky.CUAService/Library/Caches/ComputerUse/Skysight/segments/
    
  4. Count the recorded segments and generated summaries:

    find "$HOME/Library/Group Containers/2DC432GLL2.com.openai.sky.CUAService/Library/Caches/ComputerUse/Skysight/segments" \
      -mindepth 1 -maxdepth 1 -type d | wc -l
    
    find "$HOME/.codex/memories/extensions/skysight/resources" \
      -type f | wc -l
  5. Observe that segment count continues to increase while the resources count remains zero.

  6. Open Settings → Computer History and observe that the History panel still says No computer history yet.

Actual result from the latest check:

55 segments
0 summary resources

The issue persists after a full application restart and update.

What is the expected behavior?

After eligible activity has been captured for a complete summary window:

  • the background summarizer should start;
  • at least one 10min Markdown summary should be written under ~/.codex/memories/extensions/skysight/resources/;
  • the Computer History UI should show generated history instead of remaining permanently empty;
  • if summary generation cannot start, the UI or diagnostics should expose a specific actionable error rather than reporting the feature as running.

Acceptance Criteria

  • When eligible Skysight segments cover a complete 10-minute window, the 10-minute summary job is queued and completes.
  • A successful job writes a 10min Markdown resource under ~/.codex/memories/extensions/skysight/resources/ and makes the result visible in Computer History.
  • If the job cannot be queued or launched, diagnostics expose the failing scheduler/helper stage and an actionable error.
  • Recording-only operation cannot remain silently reported as a healthy end-to-end Computer History state indefinitely.

Validation

  • Add a regression test covering recorder output followed by 10-minute summary scheduling.
  • Verify the path on macOS with default-observe settings and empty allowlists/blocklists.
  • Verify that a summarizer launch failure is surfaced without stopping or corrupting the raw event stream.

Additional information

  • macOS Screen & System Audio Recording permission is enabled for ChatGPT.
  • Application and website permission lists load successfully.
  • The bundled codex_chronicle executable is present.
  • A read-only diagnostic run reported zero failed checks. Its warnings concerned unrelated endpoint-protection inspection, Gatekeeper assessment, and local thread-inventory findings.
  • No raw event-stream contents are included because they may contain private on-screen activity.

Activity

  1. MilkyWay008 commented on Aug 24, 2026

    @MilkyWay008

    55 segment dirs but zero files under ~/.codex/memories/extensions/skysight/resources means recording is fine and the summarizer helper is the part that never runs. I'd check log show --last 2h --predicate 'process CONTAINS "codex_chronicle" OR eventMessage CONTAINS "skysight"' to see if the helper even launches and what it errors on, plus ~/.codex/log and ~/Library/Logs right at a 10-minute boundary. Also worth confirming ~/.codex isn't symlinked oddly and running spctl -a -vv against the codex_chronicle binary in case Gatekeeper/TCC is blocking it, toggling Computer History off and on resets the summarizer state if nothing else shows.

  2. grevgeny commented on Aug 24, 2026

    @grevgeny
    Author

    Thanks — I ran the suggested checks:

    • The macOS unified log for the last three hours contains no actual codex_chronicle launch or Skysight runtime messages; it only contains the diagnostic log show queries themselves.
    • ~/.codex is a normal directory, not a symlink.
    • codesign --verify --strict reports that codex_chronicle is valid on disk and satisfies its Designated Requirement.
    • Gatekeeper accepts the parent ChatGPT.app as a Notarized Developer ID application.
    • Toggling Computer History off and on had already been tried before filing this issue. A full application restart and update were also tried, with no change.
    • Computer History is still running and producing fresh event-stream segments, while the Skysight resources directory remains empty.

    This further narrows the failure to the scheduler/queue before the summarizer helper is launched, rather than the recorder or an apparent Gatekeeper/signature failure.

  3. grevgeny commented on Aug 26, 2026

    @grevgeny
    Author

    Update: I now have a deterministic root-cause reproduction. Please disregard my earlier conclusion that the failure occurs before the summarizer launches.

    Current versions:

    • ChatGPT desktop: 26.820.60940
    • Bundled CLI: codex-cli 0.150.0-alpha.8

    The recorder remains healthy and produces fresh Skysight segments. The scheduler also launches the memory writer approximately every ten minutes. However, ten recent writer attempts failed identically with:

    401 Unauthorized: Missing bearer or basic authentication in header
    wss://api.openai.com/v1/responses
    

    The writer subsequently falls back to HTTPS and receives the same 401. Consequently, it produces no output and ~/.codex/memories/extensions/skysight/resources remains empty.

    The generated writer command includes:

    codex exec --ephemeral --ignore-user-config --ignore-rules --sandbox read-only ...
    

    I reproduced the failure outside Computer History using the bundled CLI and the same relevant flags:

    1. With --ignore-user-config:

      401 Unauthorized: Missing bearer or basic authentication in header
      
    2. Removing only --ignore-user-config:

      OK
      
    3. Retaining --ignore-user-config but adding:

      --config 'cli_auth_credentials_store="auto"'
      

      Result:

      OK
      

    Relevant local state:

    • codex login status reports Logged in using ChatGPT.
    • cli_auth_credentials_store = "auto" is configured.
    • Authentication is available through Keychain; there is no auth.json file.
    • The writer environment contains no OPENAI_API_KEY, CODEX_API_KEY, or API base-URL override.

    The causal chain therefore appears to be:

    Skysight scheduler launches writer
    → --ignore-user-config discards cli_auth_credentials_store="auto"
    → credential storage falls back to the file default
    → no auth.json exists
    → request is sent without an Authorization header
    → writer exits without output
    → no 10-minute summary is written
    

    This also conflicts with the CLI flag’s documented contract that authentication still uses CODEX_HOME:

    A narrow fix for the internal Computer History caller would be to retain --ignore-user-config while explicitly passing the App-resolved credential-store mode, for example:

    --config 'cli_auth_credentials_store="auto"'
    

    A regression test should cover an isolated internal writer with credentials available only through a mocked Keychain, no auth.json, and ignored user configuration. It should verify that the request is authenticated and that a 10min summary resource is written.

    No settings or application files were changed during this investigation.

  4. GeT-LeFt commented on Aug 27, 2026

    @GeT-LeFt

    Thanks for the deterministic authentication finding. I reproduced the same user-visible failure on the same current desktop/CLI versions, but my local authentication state differs in an important way.

    Environment

    • ChatGPT desktop: 26.820.60940 (build 7119)
    • Bundled CLI: codex-cli 0.150.0-alpha.8
    • Computer History plugin: 1.0.1000816
    • Computer Use service: 26.819.1000816
    • Authentication status: Logged in using ChatGPT

    Different authentication state

    In this reproduction, $CODEX_HOME/auth.json is present and has existed since August 2. I inspected structure only, not credential values:

    • mode: 0600
    • auth_mode: chatgpt
    • token object contains the expected access, refresh, ID-token, and account-ID keys
    • OPENAI_API_KEY is null
    • no OPENAI_API_KEY, CODEX_API_KEY, or API base-URL override is present in the environment
    • cli_auth_credentials_store is not explicitly configured in config.toml

    Running codex login status refreshed the auth file timestamp. The desktop app refreshed it again approximately 19 minutes later, confirming that the ChatGPT credential set was still active. Despite that refresh, summary generation did not recover.

    Controlled observations

    I also tested the previously suspected CLI-path issue. For one controlled run, both the ChatGPT process and SkyComputerUseService inherited:

    CODEX_CLI_PATH=/Applications/ChatGPT.app/Contents/Resources/codex
    

    That run lasted about 39 minutes and crossed multiple complete event windows. Representative completed segments contained 96, 124, and 171 eligible events. No summary resource was generated, so the CLI-path hypothesis is ruled out for this reproduction.

    After the authentication refresh, I observed another complete window:

    startedAt: 2026-08-27T09:50:00Z
    endedAt:   2026-08-27T10:00:00Z
    eventCount: 76
    suppressedEventCount: 7
    

    By 10:01:57Z:

    • $CODEX_HOME/memories/extensions/skysight/resources still contained zero files;
    • no codex exec, codex_chronicle, or other summary process was observed by periodic process sampling;
    • no summary start, completion, failure, or missing-authentication entry appeared in the macOS unified log;
    • the active Codex log database contained no Chronicle/Skysight/summary/401 entries.

    The bundled codex_chronicle binary does contain the expected internal flags:

    --ephemeral
    --ignore-user-config
    --ignore-rules
    --sandbox read-only
    

    Current conclusion

    This is the same recorder-healthy / resources-empty symptom, but I cannot confirm the same local 401 path because auth.json exists, is actively refreshed, and no independent 401 Unauthorized evidence is emitted locally.

    It may be a second silent failure mode, or the internal writer may still be failing to consume the available ChatGPT credentials before it emits observable logs. Please consider exposing the writer launch result and stderr/exit reason in diagnostics so these cases can be distinguished.

    No credential values, raw event contents, or private paths are included here.

  5. KennyNoDie commented on Sep 1, 2026

    @KennyNoDie

    Independent reproduction on a newer desktop and bundled CLI version.

    Environment

    • ChatGPT desktop: 26.825.51511 (build 7377)
    • Bundled CLI: codex-cli 0.151.0-alpha.7.2
    • macOS
    • codex login status: Logged in using ChatGPT
    • cli_auth_credentials_store = "auto" is configured
    • ~/.codex/auth.json is absent before and after codex login status
    • Authentication is therefore Keychain-only

    Deterministic A/B reproduction

    I ran the bundled CLI in an empty temporary directory.

    Control:

    codex exec \
      --ephemeral \
      --ignore-user-config \
      --ignore-rules \
      --sandbox read-only \
      --skip-git-repo-check \
      "Reply exactly with ok"
    

    Result:

    Responses WebSocket: 401 Unauthorized
    Missing bearer or basic authentication in header
    HTTPS fallback: the same 401
    exit code: 1
    

    Candidate fix, with all other relevant inputs unchanged:

    --config 'cli_auth_credentials_store="auto"'
    

    Result:

    ok
    exit code: 0
    

    Real Computer History writer

    The automatic writer remains broken. A completed 10-minute segment ending at 2026-09-01T09:50:00Z contained 270 events. The internal writer then failed with repeated Responses WebSocket 401 errors, and ~/.codex/memories/extensions/skysight/resources still contained zero summary files.

    This independently confirms that the issue persists in 26.825.51511, and that explicitly forwarding the App-resolved credential-store mode fixes the bundled CLI invocation while the internal Computer History caller remains unchanged.

    No credential values or raw Computer History event contents were inspected or included.

  6. josh-oai commented on Sep 14, 2026

    @josh-oai

    Thanks for the detailed reproduction. We’ve merged a fix for the Keychain authentication issue preventing Computer History summaries from starting, planned for an upcoming update. Please let us know if summaries still fail after updating.

  7. KennyNoDie commented on Sep 15, 2026

    @KennyNoDie

    Retested after updating, including a full application restart.

    Environment

    • ChatGPT desktop: 26.908.70816 (build 9275)
    • Bundled CLI: codex-cli 0.154.0-alpha.6.2
    • Computer History plugin / Computer Use helper: 1.0.1001067 / 26.913.1001067
    • macOS
    • codex login status: Logged in using ChatGPT
    • cli_auth_credentials_store = "auto" is configured
    • ~/.codex/auth.json is still absent; authentication remains Keychain-only

    This is newer than the previously reported 26.825.51511 / 0.151.0-alpha.7.2 reproduction.

    Recording still works; summaries still do not start

    After enabling Computer History on the updated build, a complete 10-minute window closed normally:

    • 2026-09-15T04:00:00Z–04:10:00Z
    • eventCount=113

    The internal writer then failed at 12:10:34+0800 (~26.7s) with:

    codex exec failed ... HTTP error: 401 Unauthorized
    wss://api.openai.com/v1/responses
    

    ~/.codex/memories/extensions/skysight/resources remained empty.

    A later complete window (04:10:00Z–04:20:00Z, 193 events) failed the same way.

    Restart did not change the result

    ChatGPT was fully quit and reopened at 14:23:03+0800. The helper was a new process. Recording resumed. The first complete post-restart window:

    • 2026-09-15T06:20:00Z–06:30:00Z
    • eventCount=287

    failed at 14:30:28+0800 from the new helper process, again after ~27.0s, with the same codex exec failed ... HTTP 401 Unauthorized on wss://api.openai.com/v1/responses.

    resources/ is still empty after that window.

    Bundled CLI A/B on this updated build

    Control, empty temporary directory, bundled CLI:

    codex exec \
      --ephemeral \
      --ignore-user-config \
      --ignore-rules \
      --sandbox read-only \
      --skip-git-repo-check \
      "Reply exactly with ok"
    

    Result:

    Responses WebSocket: 401 Unauthorized
    Missing bearer or basic authentication in header
    HTTPS fallback: the same 401
    exit code: 1
    

    Candidate fix, all other relevant inputs unchanged:

    --config 'cli_auth_credentials_store="auto"'
    

    Result:

    ok
    exit code: 0
    

    The helper binary still contains --ignore-user-config and does not contain cli_auth_credentials_store.

    This update and a subsequent restart therefore do not yet include the caller-side fix. No credential values or raw Computer History event contents were inspected or included.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    appIssues related to the Codex desktop appbugSomething isn't workingcomputer-usememory

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions