Assistants

stratless reads your assistants’ own history and installs a tune back into them. Those are two separate jobs, and they roll out at their own speeds.

Reading your sessions is per-tool work: every assistant keeps its history somewhere different, in its own shape, with its own cleanup to guard against. That arrives one tool at a time.

Delivering is per-tool work too: the sitting installs skills the way each tool actually discovers and runs them, and a delivery leg ships only after its tool-side behaviours are measured against the real thing.

So the honest answer to “does it work with X” has two halves: whether the tune can reach X today, and whether X can contribute evidence yet.

Supported today

Two of them — and each gets its own evidence. How you work with Claude Code and how you work with Codex are two different collaborations, so stratless builds HUMAN.claude-code.md from your Claude Code history and HUMAN.codex.md from your Codex history, and never measures one against the other. A behaviour observed in one tool is never presented to the other as a claim about it.

Claude Code

  • Reads ~/.claude/projects: JSONL transcripts, one per session.
  • Receives the tune: the skillpack, installed into ~/.claude/skills/ and nowhere else — each skill derived from this pair’s own evidence at ~/.stratless/HUMAN.claude-code.md, each installed only on your typed yes. stratless never writes CLAUDE.md.
  • Borrows claude -p to name your patterns, word the evidence, and propose the tune, on your own subscription.
  • The reaper: Claude Code deletes transcripts after 30 days, per file. stratless init stops that (it sets cleanupPeriodDays to 3650) and archives everything it can still reach. This is the one thing you cannot do later.

Codex

  • Reads ~/.codex/sessions: JSONL rollouts, nested by date.
  • Receives the tune: the skillpack, installed into ~/.codex/skills/ and nowhere else — Codex’s own native skill door, same SKILL.md format as Claude Code’s, measured against the live tool (an externally written skill is discovered immediately, with no approval step — unlike hooks). Each skill derived from this pair’s own evidence, installed only on your typed yes.
  • Borrows codex exec to name your patterns and word your evidence, on your own subscription.
  • The refresh asks you first. init writes a SessionEnd hook into ~/.codex/hooks.json, and Codex treats any new hook as untrusted until you approve it in its own review screen. So stratless reports needs your approval rather than claiming the refresh is on, and keeps saying so until you have approved it. That approval is yours to give inside Codex. We never write it for you.
  • No reaper. Codex does not delete your rollouts on a timer, so there is nothing to switch off and nothing to rescue. stratless still keeps its own copy, which guards against one you delete by hand later.

Each pair’s evidence is worded by its own assistant. The voice is part of the pair: your Codex evidence is written by codex exec on your own ChatGPT plan, your Claude Code evidence by claude -p on your own Claude plan. When a pair’s assistant is not installed as a command-line tool, the build borrows whichever assistant is present rather than refusing, and every build records which model actually wrote it, so if the wording ever starts reading differently, the reason is in the record rather than left to guesswork.

One difference between the two borrows is worth stating plainly rather than averaging away. The Claude Code borrow runs with no tools at all. The Codex borrow runs read-only, in an empty directory, with a scratch config, which the operating system enforces rather than a flag we pass. That is stronger in one way and weaker in another: it does not depend on a switch being honored, but it is containment rather than an absence of hands, so a Codex borrow could in principle read a file where a Claude borrow could not. Neither can write anything, and neither borrow arrives knowing anything about you beyond the evidence in the question itself.

Next to read: the CLIs

Cline and Copilot keep local session logs detailed enough to carry both sides of a conversation, which is what a pair profile needs. These come next: another pair’s evidence, with a per-tool reader.

Gemini CLI is not on that list, and will not be. Google stopped serving it in June 2026 and replaced it with a closed-source successor whose history we cannot read. The open codebase survives as Qwen Code, which is where that work would go instead.

Harder to read: the GUIs

Cursor, Zed, and Windsurf keep their histories in undocumented database blobs rather than clean logs, so reading them is messier and more fragile.

Want yours supported?

If your assistant keeps a local, readable history, it can work. Open an issue and tell us which one.