Show HN: Ctx – a /resume that works across Claude Code and Codex

72 points
1/21/1970
5 days ago
by dchu17

Comments


realdimas

Claude Code used to have a warning that toggling thinking within a conversation would decrease performance:

> Changing thinking mode mid-conversation will increase latency and may reduce quality. For best results, set this at the start of a session.

Neither OpenAI nor Anthropic exposes raw thinking tokens anymore.

Claude Code redacts thinking by default (you can opt in to get Haiku-produced summaries at best), and OpenAI returns encrypted reasoning items.

Either way, first-party CLIs hold opaque thinking blobs that can't be manipulated or ported between providers without dropping them. So cross-agent resume carries an inherent performance penalty: you keep the (visible) transcript but lose the reasoning.

3 days ago

LeoPanthera

I don't think I've ever /resumed a Claude Code session even once. What do people use that for? The way I use it is to make a change, maybe document the change, and then I'm done. New session.

3 days ago

meowface

I have like 15 concurrent sessions I leave up for weeks, 50% Codex 50% Claude Code, even though I know they work better with fresh context. Then again I also always have least 200 browser tabs up. I probably just have a mental illness.

3 days ago

theowaway213456

lol after reading your first sentence I literally thought to myself "this sounds like the type of person who never closes their browser tabs"

3 days ago

shmoogy

Most of the time it's when I want to go back and have a skill made for future reuse, but with remote control I've had some sessions open for remote diagnostics and it just works better than starting from scratch - even having lessons learned to create memories and update Claude.md.

I know it's wasteful but often I've got a surplus of tokens and not enough of my time - so it's a trade off I've been fine with.

3 days ago

daemonologist

I'd use it if I hit the 5 hour quota mid-change and then came back later in the day in a new terminal (depending on the input/output ratio of my now un-cached context, of course).

3 days ago

dgunay

I spin up a lot of agents and don't always get back to them same day, so it helps a lot if my laptop restarts to install updates automatically.

3 days ago

giancarlostoro

Tooling like this is why I really want to build my own harness that can replace Claude Code, because I have been building a few different custom tools that would be nice as part of one single harness so I don't have to tweak configurations across all my different environments, projects and even OS' it gets tiresome, and Claude even has separate "memories" on different devices, making the experience even more inconsistent.

4 days ago

StanAngeloff

I've actually had the same itch and decided to give it a go ... So far I'm one year into the project, learned a ton and highly recommend to anyone who'd listen - try writing you own harness. It can be fun, it can be intoxicating, it can also be boring and mundane. However you'll learn so much along the way, even if you thought you already were well versed.

4 days ago

arcanemachiner

Pi is very extensible, and could possibly serve as a good foundation to build on.

4 days ago

giancarlostoro

Is it Pi LLM you're referring to? I've heard "Pi" referenced twice now, and now I'm curious, I do have unused Pis, though not Raspberry Pi 5s...

4 days ago

arcanemachiner

Yeah, "Pi coding agent".

3 days ago

nextaccountic

The problem with this is that you won't get to enjoy the heavy subsidies of Claude subscriptions

But yeah, after the price hikes, it's inevitable that people will run open source harnesses

4 days ago

ghm2180

Interesting. What kind of context usage does it have when switching between the two providers? Like is it smart about using the # tokens when you go from claude -> codex or vice versa for a conversation?

How does ctx "normalize" things across providers in the context window ( e.g. tool/mcp calls, sub-agent results)?

3 days ago

saadn92

Very cool: did something similar here as well: https://github.com/saadnvd1/hydra

3 days ago

buremba

Since prompt caching won't work across different models, how is this approach better than dropping a PR for the other harnesses to review?

4 days ago

dchu17

Sorry, I may be misunderstanding the question.

The way this works is that it stores workstreams and session state in a local SQLite DB, and links each ctx session to the exact local Claude Code and/or Codex raw session log it came from (also stored locally).

What do you mean by prompt caching?

4 days ago

Wowfunhappy

Prompt caching is done on the provider side. If you send two requests to a provider in short succession and the beginning of your second request is the same as your first (for example, because your second request is the continuation of an ongoing chat), the repeated tokens are much less expensive the second time.

Obviously, your tool does not provide this. But I think GP is undervaluing the UX advantages of having your conversation history.

4 days ago

buremba

Yes that's it. I actually just ask codex/claude code to look up the session id when I want to resume sessions cross harness, it's just jsonl files locally so it can access the full conversation history when needed.

4 days ago

ycombinatornews

Great callout about the prompt caching, this switch is going to burn subscription limits on Claude real real fast.

Unless the goal is to move from one provider to another and preserve all context 1:1. And I can’t seem to find a decent reason why you would want everything and not the TLDR + resulting work.

3 days ago

t0mas88

Have you considered making it possible to share a stream/context? As an export/import function.

4 days ago

rkuska

I wrote a tool for myself to copy (and archive) the claude/codex conversations github.com/rkuska/carn

4 days ago

t0mas88

Thanks

4 days ago

dchu17

that's interesting, I hadn't at this point but this sounds potentially useful

4 days ago

testiam

it's quite interesting. Can we further share those context across multiple remote users?

2 days ago

phoenixranger

really interesting idea! will check it out. and thanks for making it local-first!

3 days ago

ramon156

Can we also get a /last ? 9/10 times i want to resume my last session. I know its only one extra tap, but still

3 days ago