Session-scoped notes panel for Codex Desktop App (shared user/agent + private regions)

Resolved 💬 3 comments Opened Apr 29, 2026 by jeemitsha Closed Jul 1, 2026
💡 Likely answer: A maintainer (github-actions[bot], contributor) responded on this thread — see the highlighted reply below.

What variant of Codex are you using?

App

What feature would you like to see?

A session-scoped "Notes" panel in the Codex Desktop App with two regions:

  1. Shared region — markdown, read/write by both user and agent. Auto-injected into the agent's system context every turn from durable host state, so it survives compaction by construction.
  2. Private region — markdown, user-only. Never sent to the model. Pure UI scratchpad.

Behavior:

  • Scoped to the thread/session; persists across app restarts and session resume.
  • Shared region is delimited in the system prompt with clear tags (e.g. <session_notes>…</session_notes>) so the model knows what it is.
  • A toggle to disable shared-region injection without deleting the content.
  • Soft size cap (~2 KB) with a UI warning above the threshold.

Why this matters

In long sessions, instructions specific to this session — e.g. "always run the script with --flag X", "the task list for this PR is …", "the convention I just decided on for this thread" — get lost to compaction. They don't belong in AGENTS.md (project-permanent, committed) or in the existing memories feature (cross-session, currently read-only per #19195). There's no slot today for session-scoped, compaction-durable, dual user/agent read-write context.

The current workaround is a side scratchpad in Apple Notes or a markdown buffer in another window, with manual copy-paste back into the chat each time. That fixes "a place to write" but not auto-injection, agent write-back, or scoping.

Additional information

  • Prior art in this repo: #12973 (closed) proposed a "Notes" tab for the web variant and was closed by a collaborator for insufficient upvotes — not on merits. This proposal is for the desktop app specifically and adds the user/agent read-write split plus the auto-injection mechanic that #12973 didn't specify.
  • Distinct from existing memories (#19195, #13194): memories are cross-session and currently read-only (the model is told Never update memories. You can only read them.). Session notes would be session-scoped and writable from both sides — a different slot in the context-surface design space.
  • Related discussion: #323 (Persistent Memory / Document Planning.md Strategies) describes the workaround pattern this would replace.
  • Cross-platform parallel: the same proposal is filed at pingdotgg/t3code#2397 — useful if maintainers want to see how a sibling community is framing it.

View original on GitHub ↗

3 Comments

github-actions[bot] contributor · 4 months ago

Potential duplicates detected. Please review them and close your issue if it is a duplicate.

  • #19758
  • #19749

Powered by Codex Action

jeemitsha · 4 months ago

Reviewed both flagged candidates — neither is a duplicate, though both are in adjacent design space. Brief differentiation:

#19758 restructures the existing cross-session memories feature into a multi-file directory (~/.codex/memories/topics/*.md) + a CLI /memory slash command + an agent-side memory_write tool. It's project-level, persists across sessions, CLI-focused, and file-based with relevance-loaded topics. This proposal is session-scoped, desktop-app UI panel, single-blob auto-injection, with a user-private region. Different on every axis except "agent can write to it" — and the implementation mechanics are completely different.

#19749 makes update_plan's structured todo output into active session state with one-shot reminder injection at task-continuation boundaries. It's about model-generated structured plan items, not user-typed free-form notes; no input surface; no private region; event-driven reminders vs always-on injection. The overlap is the phrase "session-scoped"; the substance differs.

Happy to consolidate if maintainers see it differently, but my read is these three address distinct slots in the context-surface design space.

etraut-openai contributor · 1 month ago

This feature request hasn't received enough upvotes, so it is being closed automatically. If you still feel this feature is needed, please open a new feature request with an updated title and description.