Skip to main content
Glama

termlog

Paste a terminal session into a chat or a doc and you paste everything: colour codes, progress bars that rewrote themselves a hundred times, and — too often — the API key that scrolled by in the middle. termlog cleans a raw session into shareable markdown in one local pass:

  1. ANSI removal — CSI, OSC, and two-character escape sequences are stripped, and every removal is counted

  2. Carriage returns — each line keeps only what followed its last \r, so a progress bar collapses to its final state

  3. Trailing whitespace — trailing spaces and tabs stripped

  4. Redaction (on by default) — private-key blocks, AWS access key ids, GitHub tokens, Bearer credentials, and key = value secrets are replaced with [REDACTED:<kind>] markers, applied in that pattern order and counted per kind

  5. Blank lines — runs of 3+ newlines collapse to exactly 2, and blank lines at the edges are trimmed

The result is the cleaned text in a ```console fence, the redaction counts, and line statistics. Pure local text transform: no network, no configuration.

CLI

npx @reneturcios/termlog clean --input session.log
npx @reneturcios/termlog clean --input session.log --no-redact
npx @reneturcios/termlog --version

The input file is read as UTF-8 and the output object is printed as JSON. Exit codes: 0 on success, 1 on a runtime error (including an unreadable input file), 2 on a usage error.

Related MCP server: mcp-redact

MCP server

npx -y @reneturcios/termlog mcp

MCP client config:

{
  "mcpServers": {
    "termlog": {
      "command": "npx",
      "args": ["-y", "@reneturcios/termlog", "mcp"]
    }
  }
}

Tools

  • clean_terminal_log — Turn a raw terminal session into clean, shareable Markdown.

    • text (string, required) — the raw terminal session text

    • redact (boolean, optional, default true) — apply secret redaction

    Returns {markdown, redactions, stats}: the fenced cleaned text, the per-kind redaction counts (kinds with a count above zero, in pattern order), and {input_lines, output_lines, ansi_sequences_removed, total_redactions}.

Docker

docker run -i ghcr.io/cloudcorprecords/termlog
docker run --rm -v "$PWD:/w" ghcr.io/cloudcorprecords/termlog clean --input /w/session.log

Development

npm install
npm run build   # tsc -> dist/
npm test        # tsx --test test/*.test.ts (pure local, no network)
npm run dev     # run the CLI from source

License

MIT — Copyright (c) 2026 Rene Turcios

Related MCP Connectors

Related MCP Servers

  • A
    license
    C
    quality
    D
    maintenance
    Enables cleaning and sanitizing prompts through an LLM-powered tool that removes sensitive information, provides structured feedback with notes and risks, and normalizes prompt formatting. Supports configurable local or remote OpenAI-compatible APIs with automatic secret redaction.
    4
    1
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    Transforms messy commit histories into clean, secure repositories by scanning for secrets, sanitizing history, and generating professional reports.
    2
    GPL 3.0
  • A
    license
    A
    quality
    A
    maintenance
    Sanitizes text and files by removing PII, secrets, and custom patterns locally before sending to LLMs, with optional reverse-scrubbing.
    3
    1,136 npm
    146 PyPI
    3
    MIT