Turn your AI conversations into documents anyone can read.
NetCodex finds the chats that Codex, Claude Code, Copilot, Cursor and other AI tools keep on your computer, and exports them as Markdown, PDF or a web page. Nothing leaves your machine.
Why does the invoice search take several seconds? Can you fix it?
exec_command
$psql -c "EXPLAIN ANALYZE SELECT * FROM invoices WHERE customer_id = 42"
Seq Scan on invoices (cost=0.00..48211.40)
Execution Time: 3104.882 ms
Codex
The query reads the whole table. I'll add an index: CREATE INDEX idx_invoices_customer_date ON invoices (customer_id, issued_at);
exec_command
$psql -c "CREATE INDEX idx_invoices_customer_date ON invoices (customer_id, issued_at);"
CREATE INDEX
$psql -c "EXPLAIN ANALYZE SELECT * FROM invoices WHERE customer_id = 42"
Index Scan using idx_invoices_customer_date
Execution Time: 41.207 ms
$pytest
212 passed in 18.4s
The original transcript: every message, tool call and output, exactly as the tool saved it.
Why does the invoice search take several seconds? Can you fix it?
What was asked. You asked Codex: “Why does the invoice search take several seconds? Can you fix it?”
What was done. Codex ran 4 commands.
How it ended. The last test run (pytest): 212 passed. The “Execution Time” of psql -c "EXPLAIN ANALYZE SELECT * FROM invoices WHERE customer_id = 42" went from 3104.882 ms on the first run to 41.207 ms on the last. Its last answer begins, verbatim: “I added the idx_invoices_customer_date index.”
What the assistant did
Ran psql -c "EXPLAIN ANALYZE SELECT * FROM invoices WHERE customer_id = 42" — finished successfully
Ran psql -c "CREATE INDEX idx_invoices_customer_date ON invoices (customer_id, issued_at);" — finished successfully
Ran psql -c "EXPLAIN ANALYZE SELECT * FROM invoices WHERE customer_id = 42" — finished successfully
Ran the tests (pytest) — 212 passed
The readable view of this same conversation, as NetCodex writes it: a story built from fixed sentences and one line per tool step. No AI.
AI tools it can read
14
export formats
4
files uploaded anywhere
0
languages, Spanish and English
2
Download, open, export. No folders to find.
The app scans this computer for the AI tools you use and lists their conversations right away. Export everything with one click, or pick the chats you want.
Desktop app
NetCodex for Windows
Install it, open it, and it finds the AI tools on your computer and their chats by itself. Pick conversations and export them. Everything stays on your machine.
SHA-256 of NetCodex-0.10.0-portable.exe13f70d61c6ce1b0a3a40231bab9e1820989a282ae0508de616f13d327ca86cf5
The installer is not code-signed yet, so Windows SmartScreen may say it protected your PC. Choose More info, then Run anyway. If Windows says it protected your PC
Install it for your user and open it from the applications menu or desktop. Python, QtWebEngine and fonts are included; no need to install Python, Chrome or Quarkdown.
Linux x86_64 (64-bit Intel/AMD), glibc 2.35 or later and a graphical session with its usual desktop libraries. FUSE is not required. ARM64 and Alpine/musl are not supported.
The Linux installer has not been staged in this environment yet.
Version
0.9.1
Size
236.0 MB
SHA-256 of NetCodex-Setup-0.9.1-linux-x86_64.runda4f82d2fdd947c342bab7c22a248abfa01c50b6bedd34bf7a152c20b8110191
One ZIP with the portable app and an installer for Applications. Includes chat transfer between compatible versions of Codex, Claude Code Desktop, Cursor and Antigravity App.
macOS 14.4 or later. Choose Apple Silicon for M-series chips or Intel for Intel processors. Python and the PDF engine are included.
Test package: startup and chat continuation still need testing on a real Mac. No Developer ID signature or notarization.
Apple Silicon · M1/M2/M3/M4…
This architecture’s package is not staged in this environment.
0.9.1 · 589.1 MB
Verify download (SHA-256)
SHA-256 of NetCodex-0.9.1-macos-arm64.zipa94af4c4549ce627cb65614cd7e41e704a13a62252342b7c049fa1f8028f800e
Intel · x86_64
This architecture’s package is not staged in this environment.
0.9.1 · 597.4 MB
Verify download (SHA-256)
SHA-256 of NetCodex-0.9.1-macos-x86_64.zip0836dc6619d6ca9a1fd8674c004a28253bb13cc94c0fecfb5c3260a61d95743b
Extract the ZIP. Open NetCodex.app to run without installing.
To install permanently, open Instalar NetCodex.command: it copies the app to your user Applications folder.
Try transferring a synthetic chat. Diagnosticar NetCodex.command creates a local report without your conversations.
Your chats, projects and files, together
NetCodex 0.8.2 keeps conversation export and adds continuity between agents and a local file explorer.
Export one or all
Choose one chat or export every conversation from an agent. Save Markdown, PDF, HTML or Quarkdown under the conversation name, in Documents or your preferred folder. Keep the original transcript or pick the readable view: a short story, every message in full and one line per tool step.
Continue in another agent
Choose a detected AI application, review the project and select attachments. Prepare a compatible new session or a portable package with the full history and a continuity summary.
Find your files
Browse agent folders and temporary files, filter by origin and type, preview images, text and PDF, and save copies of selected files. Files without a confirmed origin appear as Unidentified.
Integrated import is available for compatible Codex CLI and Claude Code variants. Desktop apps, extensions and other agents have their own capabilities; when integration is unavailable, NetCodex explains the manual steps. Original conversations are preserved.
Works with your agents
Claude Code and Codex keep their chats on your computer. NetCodex reads them where they are, moves a chat from one agent to another and answers your agents' questions about earlier chats.
Continue a chat in another agent
Pick a chat and a destination. NetCodex copies the whole conversation into that agent's own history, so it opens there like any other chat. When the destination already reads the same history, it says so and shows how to open the chat instead of copying it.
Claude Code
DesktopCLIVS CodeBeta
Codex
AppCLIVS CodeBeta
OpenCode and Antigravity can receive chats too.
Chats moved between agents
FromToResult
Codex · App → Claude Code · DesktopClaude Code · Desktopcopied into its history
Claude Code · CLI → Codex · CLICodex · CLIcopied into its history
Claude Code · CLI → Claude Code · VS CodeClaude Code · VS CodeAlready in your history
Codex · CLI → Codex · VS CodeCodex · VS CodeAlready in your history
Ask your agent about your chats
Connect NetCodex to Claude Code or Codex over MCP, from Settings in the app. Then ask in plain words, from any folder. Everything stays on your computer.
“Move the database to Postgres”, Codex, with a short excerpt
yousummarize what we did yesterday
netcodex · list_chats, get_story
what was asked, what was done and how it ended
youexport this conversation
netcodex · export_chat
a Markdown file in your exports folder
Agent folders, recognized
Agents create folders of their own. NetCodex groups them apart from your projects, and one click makes any of them a project.
Codex daily foldersDocuments\Codex\<date>\<chat>
Claude scratch foldersClaude\scratch-workspaces\…\scratch-<date>
Worktrees, under their repository<repo>\.claude\worktrees\<name>
Pick a chat up in the terminal
Every Claude Code and Codex chat in the app comes with the exact command that resumes it in its folder. Copy it, paste it in PowerShell or a terminal.
>cd 'D:\projects\shop' ; claude --resume 5f0c2a8e-1111-4222-8333-444444444444
The desktop app keeps itself up to date: it checks for new versions, verifies their signature and installs one when you choose Update now. Automatic updates
Three steps from chat to document
No setup and no configuration files. NetCodex reads each tool's history where it already is.
1
Open NetCodex
It looks for Codex, Claude Code, Copilot, Cursor, Gemini CLI and the rest, and shows how many conversations each one has.
2
Pick conversations and a look
Keep the conversation as it looks, or switch to the readable view. Choose a template for PDF and web pages.
3
Export to a folder
Markdown, PDF, HTML or Quarkdown files land in a folder you choose, with an index. Next time, only new chats are added.
Two ways to read the same conversation
The exact record, for audits and debugging. A readable version, without the raw tool output. Both come from the same chat.
Original
Every message, command and tool output, in the order it happened.
rollout-2026-05-02.jsonl9 lines
1{"role":"user","content":"The login test fails now and then in CI. Can you take a look?"}
8{"type":"function_call_output","output":"20 passed in 6.1s"}
9{"role":"assistant","content":"Done: the test freezes time and passed all 20 runs."}
Readable
A short story of what was asked, what was done and how it ended; then every message in full and one line per tool step.
The login test fails now and then in CI. Can you take a look?
What was asked. You asked Codex: “The login test fails now and then in CI. Can you take a look?”
What was done. Codex edited tests/test_login.py and ran 2 commands (1 failed).
How it ended. The last test run (pytest tests/test_login.py --count=20): 20 passed. Its last answer begins, verbatim: “Done: the test freezes time and passed all 20 runs.”
line 1
User. The login test fails now and then in CI. Can you take a look?
lines 2–3
What the assistant did
Ran the tests (pytest tests/test_login.py --count=20) — 17 passed, 3 failed
line 4
Assistant. The test reads the real clock. I’ll freeze time with freezegun.
lines 5–6
What the assistant did
Applied changes to tests/test_login.py
lines 7–8
Ran the tests (pytest tests/test_login.py --count=20) — 20 passed
line 9
Assistant. Done: the test freezes time and passed all 20 runs.
Each message and each tool sentence comes from one line of the record, or from one call and its output: point at it to see which. The story sums up the whole record.
The same conversation in five templates
For PDF and web exports. Pick one when you export and switch whenever you like.
The login test fails now and then in CI. Can you take a look?
What was done. Codex edited tests/test_login.py and ran 2 commands (1 failed).
The login test fails now and then in CI. Can you take a look?
▸ What the assistant did (1)
The test reads the real clock. I’ll freeze time with freezegun.
Chat
The story on top, one bubble per speaker, the assistant's actions folded away.
The login test fails now and then in CI. Can you take a look?
10:42 AM
User: The login test fails now and then in CI. Can you take a look?
10:43 AM
What the assistant did: Ran the tests (pytest tests/test_login.py --count=20) — 17 passed, 3 failed
10:43 AM
Assistant: The test reads the real clock. I’ll freeze time with freezegun.
Transcript
Interview style, with the time of every line.
The login test fails now and then in CI. Can you take a look?
Story
Codex edited tests/test_login.py and ran 2 commands (1 failed). The last test run (pytest tests/test_login.py --count=20): 20 passed.
Messages
3
Actions
3
Duration
4 min
Report
The story, summary and key facts first, then the dialogue and an appendix with every action.
The login test fails now and then in CI. Can you take a look?
You asked Codex: “The login test fails now and then in CI. Can you take a look?” Codex edited tests/test_login.py and ran 2 commands (1 failed). The last test run (pytest tests/test_login.py --count=20): 20 passed. Its last answer begins, verbatim: “Done: the test freezes time and passed all 20 runs.”
Chapter 1 · Saturday, May 2, 2026
User. The login test fails now and then in CI. Can you take a look?
What the assistant did: Ran the tests (pytest tests/test_login.py --count=20) — 17 passed, 3 failed
Book
Serif type, the story as its opening, one chapter per working day, contents up front.
The login test fails now and then in CI. Can you take a look?
What was asked — You asked Codex: “The login test fails now and then in CI. Can you take a look?”
What was done — Codex edited tests/test_login.py and ran 2 commands (1 failed).
User: The login test fails now and then in CI. Can you take a look?
What the assistant did: Ran the tests (pytest tests/test_login.py --count=20) — 17 passed, 3 failed
Assistant: The test reads the real clock. I’ll freeze time with freezegun.
Minimal
Plain, compact text: the story in three lines, then the conversation.
Private by design
Reads in place
Chats are read from the folders where each tool keeps them. Nothing is copied to a server.
No account
There is nothing to sign up for. NetCodex has no cloud, no tracking and no history of its own.
You choose what to share
Local file paths are left out by default, so exports are safe to send.
Your conversations are already on disk.
Each tool keeps its chats in its own folder. Here is where, on Windows, macOS and Linux. Once installed, netcodex where lists the ones on your machine.
No. NetCodex runs on your computer and reads each tool's chat history in place. Exports are written to a folder you choose. There is no account and no upload.
Which AI tools are supported?
Codex, Claude Code, Claude Desktop, Claude.ai exports, GitHub Copilot Chat and CLI, Cline, Cursor, Gemini CLI, Continue, Aider and Antigravity. Windsurf and Trae encrypt their history, so they cannot be read.
What is the readable view?
It opens with a short story of what was asked, what was done and how it ended. Then come the messages in full, exactly as written, with each tool step summed up in one sentence instead of raw output. No AI: everything is generated on your computer from fixed sentences. The original view keeps every message and output exactly as it was saved.
Which formats can I export?
Markdown, PDF, HTML and Quarkdown, each in the template you choose. Quarkdown files need the free Quarkdown program on your computer.
How much does it cost?
Nothing. NetCodex is free software under the MIT license.
Export your first conversation today.
Download the app, open it, and your chats are already listed.