Show HN: Recalc – Spreadsheet where cells can be Claude Code or Codex terminals (github.com)
I built this because it was useful for me when building evals/benchmarks, and I decided to put it up for free for others. The goal was quite simple, make it easy to use a lead claude code / codex session in a panel on the side, while allowing every cell to also be a terminal session running claude/codex, and make it possible to continue a session in an actual terminal window if I needed to. They can all talk to each other using cells on the grid, named cells, or the MCP server that effectively glues the app together. I also found it useful for managing context within related but disparate sessions.
My real benchmark runs with recalc are internal to my startup, so to demonstrate some of the functionality I built a small FDA Bench with the tool (obtain and put together dossier's of FDA submissions, and see if a harnessed Claude could have accurately predicted pass/fail): https://github.com/sshah03/recalc#a-model-benchmark
It is still very much a work in progress, but given the versatility of spreadsheet apps, wanted to see how others see themselves using it and what doesn't exist that would be useful to them. Currently runs locally on macs, linux as well but that's less tested, and Windows hasn't been tested at all so that'll come in the future.
14 comments
[ 3.1 ms ] story [ 34.3 ms ] threadHowever, in the other cases, references get rewritten the same way everywhere (whether it's a formula, or an agent's watch list), so {A3} becomes {A4} etc... everywhere with the same process. Also in that case, it doesn't get marked for needing to be "re-run" because it checks value itself is unchanged, even if the cell being referred to changed.
I've tested it quite a bit. Given all of the moving parts in a spreadsheet app there's still the possibility that given enough usage someone encounters some combination of moves where this fails, but I think if that does happen it should be a fixable bug.
I also provide a backup solution with "Named cells", basically off sheet cells that can be used for constants and such and referenced by name instead of by cell, if needed.
The named cell can have a trivial `=SheetName!a3`. Those will be automatically updated with insert and delete just like any other formula.
They can be referenced directly for reading, and for writing you can do a quick parse and find the original.
I'll play around with this, thanks for the idea!
As an alternative, I can provide a checkbox on export to have a "sources" sheet created in the workbook with references back to the cell if that works better.
If you do decide to use it, I'm happy to work with you to make sure the export works reliably. I haven't had a good test user for this yet.
What have your use cases for it been so far?
Another direction I would consider for someone who needs this approach is Grist's MCP integration and a local agent harness.