Skip to main content

How it works

  1. Oobo reads the session transcript from disk
  2. All secrets are redacted using gitleaks patterns (or regex fallback)
  3. You can save locally, print to stdout, or upload to your configured server

Save locally

oobo share <id>                       # preview in terminal
oobo share <id> --out session.md      # save as markdown
oobo share <id> --out session.json    # save as JSON
oobo share <id> --agent               # compact response (key: value)
oobo share <id> --json                # full JSON to stdout
The --out flag determines the format by file extension: .json or .jsonl produces JSON, anything else produces markdown. Local saves never touch any network.

Upload to server

Without --out, running oobo share uploads the session to your configured server and returns a shareable URL:
oobo share <id>
# → shared: https://api.oobo.ai/s/shr_abc123
Authentication is optional. If an API key is configured, the share is associated with your account. Without a key, the share is anonymous — you still get a shareable link.
# authenticated share
oobo auth login --key <your_key>
oobo share <id>

# anonymous share (no auth configured)
oobo share <id>

Self-hosted

Point at your own server and share from there:
oobo auth set-remote https://oobo.mycompany.com
oobo share <id>
The CLI posts to POST /anchors/share on your server. See Backend API for the endpoint spec.

Redaction

All session content is redacted before sharing:
  1. gitleaks (if installed): comprehensive secret detection
  2. Regex fallback: API keys, tokens, passwords, AWS credentials
Secrets are replaced with [REDACTED]. No raw secrets ever leave your machine.

Markdown output format

When saving with --out (non-JSON extension), the output is a readable markdown document:
# Session abc-123-456

**Source:** cursor
**Model:** claude-sonnet-4
**Duration:** 2m 0s
**Tokens:** 5,000 in / 12,000 out

---

**user**
Add auth flow for the API

---

**assistant**
I'll create the auth module with JWT validation...

JSON output format

When using --json or saving with a .json extension:
{
  "session_id": "abc-123-456",
  "source": "cursor",
  "model": "claude-sonnet-4",
  "messages": [
    { "role": "user", "text": "Add auth flow for..." },
    { "role": "assistant", "text": "I'll create the auth module..." }
  ],
  "stats": {
    "input_tokens": 5000,
    "output_tokens": 12000,
    "duration_secs": 120
  },
  "shared_at": "2026-03-16T12:00:00Z",
  "oobo_version": "0.1.6"
}