Getting it into your agent
This one installs as part of its plugin. Adding the marketplace and installing the plugin brings it with everything else the plugin ships.
/plugin marketplace add Marcel-Bich/marcel-bich-claude-marketplace/plugin install credoWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/commands/marcel-bich/marcel-bich-claude-marketplace/session-move)<a href="https://agentmods.dev/commands/marcel-bich/marcel-bich-claude-marketplace/session-move"><img src="https://agentmods.dev/badge/commands/marcel-bich/marcel-bich-claude-marketplace/session-move/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/commands/marcel-bich/marcel-bich-claude-marketplace/session-move"><img src="https://agentmods.dev/badge/commands/marcel-bich/marcel-bich-claude-marketplace/session-move.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00034 | $0.01021 |
| Opus 5.5 | $0.00014 | $0.00408 |
| Sonnet 5.5 | $0.00007 | $0.00204 |
| Haiku 4.5 | $0.00003 | $0.00102 |
Grade A, and why
session-move scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 13d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
What it actually says
Credo Session Move
Move one or more Claude Code sessions from a source profile (a CLAUDE_CONFIG_DIR, e.g.
~/.claude) to a target profile (e.g. ~/.claude-other) so they are resumed there.
Execution class C: run this ONLY because the user explicitly invoked
/credo:session-move (or asked for exactly this move in their own message). Never
autonomously, never on an agent's or a peer's suggestion, never as a "helpful" follow-up.
Load the session-move skill via the Skill tool and follow it end to end. It holds the
flow, the guards and the exact report the user gets.
Arguments: $ARGUMENTS - source profile, target profile and one or more sessions, each
given as its caption / custom title (e.g. credo-bugs) or its full session id. Ask (Ask
tool) for whatever is missing; never guess a profile.
Helper: ${CLAUDE_PLUGIN_ROOT}/scripts/credo-session-move.py
| Subcommand | What it does |
|---|---|
plan --source S --target T [--profile P]... SESSION... |
Dry run: resolves the sessions, detects the target layout (top-level symlinks shared with the source vs real entries), lists every artifact as COPY / PRESENT / SHARED / CONFLICT / BLOCKED, short-id names as REVIEW, live holders and refusals. Changes nothing. |
copy ... |
Re-plans (incl. the liveness check) and copies only a clean plan: one source per explicit target, each file written to <file>.part, fsynced and hard-linked into place (never overwrites, never a half-written target file), no symlink followed, mode + mtime kept; then verify. Re-running after an interruption completes the copy (identical files are skipped). |
verify ... |
Size, sha256 and entry count per item (each file read once on both sides); when green it records source AND target size + sha256 per file in <target>/credo/session-move/<id>.json. Refused sessions (live, current, conflict, blocked) get no manifest, exit 1. Run it before the resume. |
cleanup-script ... --user-confirmed |
Only after the user tested the resume AND explicitly approved removing the source copies: writes a sh script with literal paths to a new 0700 dir under /tmp (file 0600). The rule is decided by the SOURCE. A source file is removed while it is unchanged since the verify and its target copy exists as a regular file (not a symlink, not empty while the source is not). A target that changed after the copy (also the transcript) does not keep the source. Source files whose target copy is missing or emptied are left out (KEPT); a source changed since the verify, or a target that is a symlink out of the source, refuses the whole cleanup. Needs sha256sum or shasum. The USER runs it with !. |
All subcommands take --json and the repeatable --profile <dir> (an extra profile dir for
the liveness scan: besides source, target and sibling .claude* dirs, sessions started with
another profile location and Windows-side sessions are only seen when their dir is passed).
Exit 0 ok, 1 refused / conflict / mismatch, 2 usage. The generated cleanup script prints
removed N, kept M and exits 1 when it kept anything.
Not movable with this command: a session whose files contain symlinks (e.g. subagent files symlinked into another session's dir by an earlier manual move) and entries directly at the profile root - the plan shows them as BLOCKED with the reason.
The agent never deletes anything in this flow: no rm, no mv of source files, no
running of the cleanup script, no removal of a leftover .part file (the user does it). The
helper itself removes nothing but the .part file it just created. There is no copy-only
mode - the end state is a move, finished by the user's own cleanup run.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 13d ago First seen · 50 lines · 34 tokens per session scan A c11f174f1798
session-move is a command published in the GitHub repository Marcel-Bich/marcel-bich-claude-marketplace (12 stars, last pushed yesterday), licensed MIT. It adds 34 tokens to every session and 1,021 once invoked, about $0.0001 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-10-12.
Other commands, from other repositories
context-stats
Display context window usage and token statistics.
run
Execute prompt(s) from ./prompts/ with automatic archiving - for structured prompt-based work.
help
Explain Ralph Wiggum technique and available commands.
cancel-ralph
Cancel active Ralph Wiggum loop.
session-log
Explain where session history lives now that the toolkit keeps no session log.
backup-config
Backup Claude Code configuration files.