No description
Find a file
2026-07-19 06:22:46 +09:00
.agents/skills docs: streamline repository guidance 2026-07-14 16:42:56 +09:00
.github chore(release): 5.1.0 2026-07-18 12:00:49 +09:00
assets Add a screenshot to the README 2026-06-29 15:44:55 +09:00
docs refactor(app-server): make TanStack Query authoritative 2026-07-19 05:40:36 +09:00
scripts docs: correct app-server compatibility key 2026-07-18 09:01:09 +09:00
src refactor(chat): derive Threads activity from panel state 2026-07-19 06:17:10 +09:00
tests test(chat): split view lifecycle coverage for parallel execution 2026-07-19 06:22:46 +09:00
.gitignore test: add exploratory domain mutation testing 2026-07-18 17:43:34 +09:00
.node-version Align Node 26 tooling and enforce recorded compatibility checks 2026-07-10 16:07:28 +09:00
AGENTS.md docs: clarify when documentation should change 2026-07-15 18:13:45 +09:00
biome.jsonc refactor(chat): replace signal mirror with selectors 2026-07-16 22:56:00 +09:00
commitlint.config.mjs chore(release): adopt Conventional Commits and generated release notes 2026-07-14 16:08:25 +09:00
esbuild.config.mjs Switch UI runtime to Preact compat 2026-05-31 12:50:34 +09:00
eslint.config.mjs chore(lint): re-enable Obsidian setting definition rule 2026-07-18 20:14:21 +09:00
knip.json test: simplify grit policy fixtures 2026-07-15 15:13:23 +09:00
LICENSE Switch project license to Apache 2.0 2026-05-14 17:06:55 +09:00
manifest.json chore(release): 5.1.0 2026-07-18 12:00:49 +09:00
NOTICE Clarify NOTICE attribution 2026-05-14 20:45:34 +09:00
package-lock.json test: add exploratory domain mutation testing 2026-07-18 17:43:34 +09:00
package.json test: add exploratory domain mutation testing 2026-07-18 17:43:34 +09:00
README.md chore(release): 5.1.0 2026-07-18 12:00:49 +09:00
stryker.config.mjs test: expand mutation coverage at protocol boundaries 2026-07-18 19:11:18 +09:00
tsconfig.json test: simplify grit policy fixtures 2026-07-15 15:13:23 +09:00
versions.json chore(release): 5.1.0 2026-07-18 12:00:49 +09:00
vitest.config.ts test: add source coverage reporting 2026-07-18 14:17:42 +09:00

Codex Panel

Codex Panel brings Codex into an Obsidian sidebar. It keeps Codex threads beside your notes, helps you add vault context to prompts, and lets you handle approvals and file changes without switching windows.

If the Codex CLI is already installed and authenticated, Codex Panel uses that local setup. The plugin handles the Obsidian side of the workflow, while models, credentials, sandboxing, tools, hooks, and thread state stay with Codex.

Codex Panel

Why use it

  • Keep Codex work next to the notes or projects it is about.
  • Bring notes, selections, links, and attachments into prompts.
  • Manage threads and respond to Codex requests inside Obsidian.
  • Review file changes, rewrite selected note text, and archive useful threads as notes.

How it works

Codex Panel starts codex app-server locally. Each open panel keeps its own active thread and draft, with Codex working from the vault root.

Codex Panel stores panel preferences only, not API keys or provider credentials.

Requirements

  • Obsidian desktop app 1.12.0 or newer.
  • Codex CLI installed, authenticated, and available as codex, or configured with an absolute executable path in Codex Panel settings.
  • A local vault where Codex is allowed to work.

Codex Panel does not support Obsidian mobile.

Installation

Install Codex Panel from Obsidian's Community plugins browser by searching for Codex Panel, then install and enable the plugin.

You can also open the plugin page directly: https://community.obsidian.md/plugins/codex-panel.

Quick start

  1. Open the note or project you want to work on.
  2. Run Codex Panel: Open panel from the command palette, or select the ribbon icon.
  3. In the composer, reference what matters and describe the outcome you want. For example: @active Summarize this note and suggest the next three actions.
  4. Follow the turn in the panel, respond to requests when needed, and review any file changes before continuing.

If Obsidian cannot find codex, set Settings -> Codex Panel -> Codex executable to an absolute path such as /opt/homebrew/bin/codex.

Working with Codex Panel

Keep work separate or pick it up later

A panel is an independent working surface with its own active thread and draft. Open multiple panels when different tasks should stay visible and separate. Regular Codex threads remain available after a panel closes; return to them from Codex Panel: Open thread..., panel history, or the Threads view.

For a one-off question alongside the current thread, use /btw to open a temporary side chat. To carry context between regular threads without merging their histories, use /refer <thread> <message>.

Bring in the right context

The composer lets you point Codex to relevant material without pasting it into the prompt. Type wikilinks to reference vault files while keeping their names readable. Use @active for the active file or @selection for the current Markdown selection.

When Obsidian Daily Notes or the daily section of Periodic Notes is enabled, @today, @tomorrow, and @yesterday resolve through its folder and date format. Paste or drop files to save them in the configured attachment folder and reference them from the same prompt. For material outside the vault, /web <url> [message] fetches readable page content and attaches it to the next turn without creating a note.

These references tell Codex what is relevant to the request; they do not change its vault-root working directory or its permissions. Large transient references are bounded before they reach Codex, and the panel marks a web or thread reference when it had to truncate it.

Guide a running turn

As a turn runs, the panel keeps the conversation together with requests that need your attention. You can answer questions, approve or reject actions, steer the turn with another message, or interrupt it. Plans, goals, tool activity, and agent work remain available when you need to inspect how the task is progressing.

Review and keep the result

When Codex changes files, open the Obsidian diff view to review the changes and copy the patch. For a focused edit, select Markdown text and run Codex Panel: Rewrite selection to request a replacement and review a selection-scoped diff before applying it.

Archive a finished thread with or without saving it as a Markdown note. Saved notes use the configured folder, filename template, and tags; archived threads can later be restored or permanently deleted from settings.

Use /help for the current slash command list.

Compatibility

Key Version Policy
manifest.minAppVersion 1.12.0 Minimum Obsidian desktop version declared for plugin loading.
obsidian API types 1.12.3 TypeScript API package used for compile-time checks; kept in the same minor as manifest baseline.
codexAppServer.testedCliVersion 0.144.5 Exact CLI patch used to generate and verify bindings; compatibility is tracked by minor version.

Codex Panel depends on the experimental codex app-server API.

License

Codex Panel is licensed under the Apache License 2.0. See LICENSE.

The generated TypeScript bindings under src/generated/app-server/ are generated from OpenAI Codex CLI app-server types. See NOTICE for upstream attribution.