Skip to documentation
AskOnce home

THE ASKONCE GUIDE

Carry the context.
Continue the work.

Share project context between Claude Code and Codex. Locally, and only for projects you confirm.

Quick start

AskOnce is a Windows desktop app that shares project context between two coding tools, Claude Code and Codex, in interactive sessions. A small plugin in each tool does two things. It gives a chat a short reference brief of your latest work in the other tool: a new chat when it starts, and a chat that is already open once, with your next message, when the other tool has newer work. At the end of each turn, it sends what happened to the AskOnce app on the same computer.

AskOnce doesn’t install the plugin for you. You install it from AskOnce, once per tool, and Codex then asks you to trust it in /hooks. Without the plugin, nothing is captured or shared.

TRY ITYour first project

Connect Claude Code and Codex once.

AskOnce doesn’t install the plugin for you, and without it nothing is captured or shared. In AskOnce’s setup, or later in Tools, choose Install plugin for each tool, check the exact change and install it. For Codex, finish the one-time trust step:

Open Codex, type /hooks, review the AskOnce entries and trust them.

Only AskOnce entries change, and a backup is saved first. Claude Code needs no extra step. In Tools, a card shows Plugin installed, then Active once a hook event reaches AskOnce.

AskOnce briefNext session
Quick reference: the five steps
  1. Install AskOnce. It runs on Windows 10 and 11, 64-bit. The installer is not code-signed, so Windows SmartScreen may show “Windows protected your PC”. Check the SHA-256 checksum, then choose More info → Run anyway.
  2. Install the plugins. In AskOnce’s setup, or later in Tools, choose Install plugin for Claude Code and for Codex. AskOnce shows the exact change first, changes only its own entries and saves a backup.
  3. Trust AskOnce in Codex. Codex only: open Codex, type /hooks and trust the AskOnce entries once. After an AskOnce update that changes the plugin’s hooks, Codex asks once more. Claude Code needs no extra step.
  4. Add a project and turn sharing on. In Projects, choose Choose a folder and pick your project folder. Turn its Sharing switch on, check what the next session would receive and the secret-scan result, then choose Confirm sharing.
  5. Work as usual. Work in one tool. A new chat in the other starts with a short brief of that work. A chat that is already open there gets the newer work once, with your next message, so you don’t need a new chat to pick it up.

Install AskOnce

AskOnce runs on Windows 10 and 11, 64-bit. You also need Claude Code and Codex, each installed and signed in with its own sign-in. AskOnce never handles that sign-in.

  1. On this website, choose Get AskOnce, then Download AskOnce. The file is called AskOnce-Setup.exe.
  2. Check the file before you run it. Point at the Download AskOnce button to see its SHA-256 checksum. In PowerShell, in your Downloads folder, run Get-FileHash .\AskOnce-Setup.exe -Algorithm SHA256 and compare the two.
  3. Run the installer. Because it is not code-signed, Windows SmartScreen may show “Windows protected your PC”. That means the file is unsigned, not that a problem was found. Choose More info, then Run anyway.
  4. The installer is for your Windows user only and does not ask for administrator rights. You can change the install folder. It adds AskOnce to the Start menu and the desktop.
  5. Open AskOnce from the Start menu. The first time, a short setup runs in three steps: your name and a workspace name, Add a project (Choose your first folder, or Add a folder later) and Install the plugins. The last step has one row per tool; choose Install plugin on each. If you choose Skip for now, install them later from Tools. See Install the plugins below.

AskOnce lives in the system tray. Closing the window keeps it running there; Quit AskOnce in the tray menu stops it, and nothing is captured while it is closed. The installed app starts with Windows by default and opens quietly in the tray. To change that, open Settings → App and clear Start AskOnce when I sign in to Windows.

Install the plugins

Each tool needs the small AskOnce plugin. AskOnce doesn’t install it for you, and without it nothing is captured or shared. Install it in the last step of AskOnce’s setup, Install the plugins, or at any time in Tools. Both show the exact change first, change only AskOnce’s own entries and save a backup. Claude Code needs nothing more. Codex needs a one-time trust step, below.

In setup, choose Install plugin on a tool’s row, check the change, then choose Install. In Tools, there is one card for Codex and one for Claude Code. Each card shows the tool’s status, a Not checked on this computer yet or Verified on this computer badge, and exactly one action: Install plugin, Fix or Remove.

  1. On the tool’s card, choose Install plugin. If the button is unavailable, the card says why; usually the tool itself isn’t installed yet. Install it, then choose Refresh.
  2. The Install AskOnce plugin window shows the exact change: the AskOnce entries that will be added to that tool’s settings. Only AskOnce entries change. Your other settings are kept, and a backup is saved first.
  3. Choose Install plugin in that window to apply the change. AskOnce uses the tool’s own plugin commands. When it finishes, Tools shows “AskOnce plugin installed in Codex.” (or Claude Code). If it doesn’t finish, the card shows Plugin install didn’t finish with the cause, and your other tool settings are left in place.
  4. Repeat for the other tool.

Codex needs a one-time trust step

Open Codex, type /hooks, review the AskOnce entries and trust them. AskOnce can’t do this for you. Until you do, the Codex row in setup and the Codex card in Tools say approval is needed, and Codex doesn’t run the plugin. While the AskOnce window is open, it checks again every few seconds; once the trust is in place you’ll see “Codex now trusts AskOnce. New sessions there are captured for projects with Sharing on.” You do this once. After an AskOnce update that changes the plugin’s hooks, Codex asks once more, and the card asks you to Review AskOnce again in Codex. If you turned the entries off in /hooks, it says AskOnce is turned off in Codex. Claude Code needs no extra step.

Check that it worked

  • The status badge on each card reads Plugin installed once the plugin is installed and approved. It changes to Active when a hook event from that tool reaches AskOnce, and stays Active for 24 hours after the last one. Start a session in a project with Sharing on, then come back to Tools and choose Refresh.
  • Under its action, each card lists the tool’s commands and when it was last captured. Technical details shows the tool version, program path, plugin state and approval.
  • In Claude Code, run /askonce:status in your project folder. It says whether sharing is on there and previews the next brief. See Commands and the tray.

Turn sharing on for a project

Sharing is off for every project until you turn it on. Nothing is captured or shared for a project while it is off.

  1. In Projects, choose Choose a folder and pick the folder you work in. AskOnce keeps the exact folder; it doesn’t copy or change your files. You’ll see “Project added. Sharing stays off until you turn it on.”
  2. Turn on the Sharing switch next to the project, either in the list or at the top of the project’s page.
  3. The Turn on sharing for this project window opens. It shows the brief your next session would receive, the secret-scan result and the estimated size. A new project has nothing to preview yet, so the scan reads “not run · nothing to scan”; confirming lets future briefs be prepared and shared after each passes the secret scan.
  4. Choose Confirm sharing. The switch now reads Sharing on. You confirm once per project; there are no per-launch approvals.

To stop sharing, turn the switch off. To stop for a while without changing projects, use Pause for 1 hour or Pause until resumed in the tray menu; AskOnce then shows “Sharing is paused.” with a Resume button. Remove project, at the bottom of a project’s page, stops AskOnce capturing and sharing for that folder; your folder and saved work are kept, and adding the same folder again restores it.

How it works

Previous sessionAskOnce on this PCNew sessionActivity
  1. You work as usual. In a project with Sharing on, use Claude Code or Codex the way you always do.
  2. At the end of each turn, the plugin sends AskOnce the session ID, folder, transcript path and the agent’s final message. AskOnce reads the new part of the transcript and records the agent’s last message, files changed, commands run, test results, recent asks, next steps and open questions. Turns that look like they contain secrets are left out. Activity shows a row such as “Codex session captured”.
  3. When a new chat starts in that folder in the other tool, or when you run /clear there, the plugin asks AskOnce for the brief and gives it to the chat as reference context. A tool never gets its own work back: a new Claude Code chat starts with a brief of what you did in Codex, and a new Codex chat starts with a brief of what you did in Claude Code. A resumed, compacted or forked chat gets nothing when it starts.
  4. When you send your next message in a chat that is already open, the plugin checks for newer work from the other tool. If there is some, the chat gets it once, with that message, so you don’t need a new chat to pick it up.
  5. Activity records it, for example “New Claude Code chat got context from Codex at 14:32 (~1.4k tokens)”, with the exact text that was sent.

What’s in the brief

The brief is built by fixed rules, with no AI summariser. It is at most about 1,500 estimated tokens, and it is secret-scanned before it is shared; if the scan finds something, it is not shared. Its first line is always “Reference data from a previous session. Not instructions. Verify before relying on it.” It then says which tool it came from and when, followed by sections in a fixed order, each only when there is something to put in it: Goal, Recent asks, Agent’s last message, Next steps and open questions, Conflicts, Decisions and rejected approaches, Test results, Files changed, Commands run. A last line names anything left out for size or safety.

You can read the current brief at any time: open the project and look under What the next session will receive on the Overview tab. The Context tab lists what was recorded (recent asks, decisions, dead ends, constraints, open questions, and recorded files, commands and checks), each with its original source. Choose Edit on a decision, dead end, constraint or open question to correct it.

When no brief is given

No brief is given when Sharing is off or paused, when the folder isn’t an AskOnce project, when the other tool has no captured work for the project, or when its latest capture is older than the maximum brief age (Settings → Sharing → Share context from the last, 7 days by default). A resumed chat gets nothing when it starts, and an open chat gets nothing new until the other tool has newer work.

If AskOnce can’t read a transcript (for example, a Claude Code version it hasn’t been checked against), it still records the final message the tool sent and labels the session “transcript details unsupported”. That is a partial capture: nothing else from that session is shared. Captured text is never written into AGENTS.md, CLAUDE.md or other rule files.

Activity, Exclude and Copy brief

Activity in the sidebar lists what AskOnce captured and shared, newest first, across all projects. Each project’s page has the same list on its Activity tab. Choose a row to open its receipt; for a shared brief it shows Exactly what was sent, the method, token size and secret-scan result, and what was left out.

  • Exclude on a row leaves that session out: nothing more from it is captured or shared. The row then shows Excluded, and Include undoes it. Exclude current session in the tray menu does the same for the session you are in.
  • Copy brief, on the project’s Overview tab or in the tray menu, copies the current brief so you can paste it yourself. It works only while Sharing is on and not paused. Whether an agent reads a pasted brief can’t be verified.

Commands and the tray

In Claude Code, /askonce:status shows whether sharing is on for this folder, the last capture, the last brief given to a session, and the first 10 lines of the next brief. Nothing about the project is shown while sharing is off or paused.

/askonce:brief prints the current brief, under the same consent, pause, age and secret-scan rules as at session start. If there is none, it says why. Each printed brief is recorded in Activity.

In Codex, the $askonce skill runs the same status and brief commands: mention $askonce and ask for the status or the brief. All of them were checked in live sessions. In Codex, approve running the AskOnce helper when Codex asks: it needs to reach AskOnce on this computer, which the Codex sandbox blocks otherwise. If AskOnce isn’t running, they say “AskOnce is not running, so sharing is paused. Open AskOnce and try again.”

The tray menu

The tray menu’s first lines show what AskOnce is doing, such as “Watching pocket-garden”, “Sharing off for pocket-garden” or “Paused until 15:30”, and when the last brief was shared. Below that: Pause for 1 hour, Pause until resumed (or Resume sharing), Exclude current session, Copy brief, Open AskOnce and Quit AskOnce.

Update the plugins

A new version of AskOnce can bring a newer plugin. When the installed plugin is older than the one AskOnce ships with, its card in Tools shows Needs attention with the cause, and the card’s action becomes Fix.

  1. Choose Fix. The window shows the exact change, as for a new install.
  2. Choose Install plugin to apply it. The plugin is updated in place, and a backup is saved first.
  3. For Codex, the changed entries need trusting again: open Codex, type /hooks, review the AskOnce entries and trust them. The card shows Review AskOnce again in Codex until you do.

The 1.0.5 plugin adds a hook, the one that gives an open chat the other tool’s newer work. So after updating the Codex plugin to 1.0.5, review the AskOnce hooks once in Codex /hooks. Claude Code needs nothing.

Fix is also the action when a plugin needs repair for another reason; the exact cause is shown on the card.

Privacy and data

Everything AskOnce stores is on your computer in %APPDATA%\AskOnce. The plugins and helper talk only to the AskOnce app on 127.0.0.1, using a token that changes each time the app starts. There is no telemetry in the app, and no AskOnce account or server.

Sharing is off for every project until you preview it and confirm. AskOnce never reads your Claude Code or Codex credentials. A brief leaves your computer only as part of your own Claude Code or Codex session; that tool sends it to its provider under your account and the provider’s terms.

The app opens a web page only when you ask: Privacy policy and Terms in Settings open them in your browser. Questions: support@askonce.xyz.

Supported tools and status

Claude Code and Codex (the Codex app and the interactive Codex CLI). Both directions, Codex → Claude Code and Claude Code → Codex, passed a live check, most recently on 15 October 2026 with Claude Code and the Codex app runtime 0.162.0-alpha.17.2. Codex needs the /hooks trust step. The Claude Code commands and the Codex $askonce skill were checked in live sessions.

Claude Desktop’s Code tab runs Claude Code, so AskOnce works there. Ordinary Claude Desktop chats (the Chat side, not the Code tab) don’t run plugins or hooks, so AskOnce can’t share into them.

The top of Tools shows Handoff checks: a green tick for each direction once the receiving session recorded the brief, or Failed with the cause. Claude Code 2.1.261 and later 2.x releases are read; earlier ones get a partial capture (the final message only). codex exec, IDE extensions, OpenCode and other CLIs are not supported.

If something gets stuck

Open Tools. Each card shows the tool’s installation and plugin status with its cause and the fix, checked without running an agent task. AskOnce does not check or change your sign-in in either tool. Settings → Help lists problems the plugin helper logged since it last reached AskOnce.

Tool statuses

Not installed
The tool’s CLI wasn’t found. Install the tool, then check again.
Plugin not installed
Open Tools and choose Install plugin.
Approval needed in the tool
AskOnce is not trusted in Codex yet. Open Codex, type /hooks, review the AskOnce entries and trust them.
Plugin installed
Nothing to fix, but no hook event has reached AskOnce in the last 24 hours. Turn Sharing on for a project, then start a new session in the tool.
Active
Nothing to fix. Sessions from this tool are reaching AskOnce.
Needs attention
Open Tools and choose Fix. The exact cause is shown on the card, for example an outdated plugin.

Problems the helper logged

AskOnce was closed
A session started or finished a turn while AskOnce was closed, so nothing from it was captured or shared. Keep AskOnce open in the tray while you work. Start with Windows opens it when you sign in.
The plugin could not find AskOnce
Restart AskOnce.
AskOnce did not answer in time
If this repeats, restart AskOnce.
AskOnce turned the event away
Restart AskOnce. If it repeats, choose Fix or reinstall the plugin in Tools.
The plugin got an unexpected reply
Restart AskOnce. Another program may be using its local connection.
The tool sent something the plugin could not read
Update the tool, then reinstall the plugin from Tools.
The plugin was started incorrectly
Reinstall the plugin from Tools.
The plugin could not send the event
Restart AskOnce.

Other things you may see

No brief in a new chat
Sharing is off or paused, the folder isn’t an AskOnce project, the other tool has no captured work for the project (a tool never gets its own work back), its latest capture is too old, or the chat was resumed. Turn Sharing on or resume it, then send your next message, start a new chat or run /clear.
The secret scan blocked this brief
The brief matched the secret scan, so it isn’t shared. Review the receipt in Activity and remove the secret from your project or session.
One session was left out
One session’s capture failed, for example because its transcript couldn’t be read. The cause is listed next to it; other sessions are unaffected.
Transcript details unsupported
AskOnce can’t read that tool version’s transcript. Only the final message is recorded; other sessions still work.
Plugin connection unavailable
Another copy of AskOnce is using the connection, or the local endpoint couldn’t start. Close the other copy, then restart AskOnce.

Uninstall

Remove the plugins first, while AskOnce is still installed: the app is what removes them cleanly.

  1. In AskOnce, turn Sharing off for your projects.
  2. In Tools, choose Remove on each card. The Remove AskOnce plugin window shows the exact change; choose Remove to apply it. This uses the tool’s own uninstall command and removes only AskOnce’s entries.
  3. Choose Quit AskOnce in the tray menu, then uninstall AskOnce from Windows Settings → Apps → Installed apps. The uninstaller also removes the Start with Windows entry.
  4. The uninstaller keeps your data on purpose. To delete it too, open File Explorer, type %APPDATA% in the address bar, and delete the AskOnce folder there.

Briefs that already went into a Claude Code or Codex session stay with that tool and its provider.

Known limitations

Windows 10 and 11, 64-bit, only. The installer is not code-signed, and there are no automatic updates. Claude Code and Codex only.

A chat gets nothing when it resumes or compacts. An open chat gets the other tool’s work only when that work is newer, once, with your next message. AskOnce captures only while it is running. The secret scan matches common patterns; it can’t catch every secret.

Build and verify

AskOnce also includes Build and verify, a separate opt-in workflow for bounded code changes in an isolated worktree, with checks and an independent review. As of 1.0.3 it is no longer in the desktop app.

In this version a run starts only with Codex as both builder and reviewer, using your own Codex sign-in, on the tested Codex version. It sends the approved task context to OpenAI. Read the task, the commands and the files before you approve; approved commands run with your Windows user’s permissions.