Skip to main content

inscript

Universal agent activity ledger.

When an AI agent works on code, inscript records everything: which project, which files, what changed. Any tool can read ~/.inscript/ for context.

Install

pip install inscript

What it records

~/.inscript/
  active_project              ← which codebase right now
  active_session              ← current session ID
  config.toml                 ← retention policy
  sessions/
    <session-id>/
      meta.json               ← start time, project, status
      touches.jsonl           ← every file read/edit/write
      diffs.jsonl             ← raw changes (Edit old→new, Write content hash)
      summary.json            ← stats written on session end
  overlap/
    <project-hash>.jsonl      ← when 2+ sessions touch the same files

Setup

inscript init    # configure retention, storage, diffs

Then add hooks to ~/.claude/settings.json:

{
  "hooks": {
    "SessionStart": [
      {
        "hooks": [{ "type": "command", "command": "inscript-hook" }]
      }
    ],
    "PostToolUse": [
      {
        "matcher": "Read|Edit|Write|Glob|Grep",
        "hooks": [{ "type": "command", "command": "inscript-hook", "async": true }]
      }
    ],
    "Stop": [
      {
        "hooks": [{ "type": "command", "command": "inscript-hook" }]
      }
    ]
  }
}

CLI

inscript              # status: active project + session
inscript log          # activity log for current session
inscript log <id>     # activity log for a specific session
inscript overlap      # show file collisions across sessions
inscript export <id>  # export session as markdown
inscript cleanup      # enforce retention policy
inscript init         # setup wizard

Python API

from inscript_pkg import active_project, active_session, list_sessions

project = active_project()    # Path or None
session = active_session()    # session ID or None
all_sessions = list_sessions()  # [{session_id, start_time, project, status}, ...]

How it works

Three Claude Code hooks write to ~/.inscript/:

  • SessionStart → creates sessions/<id>/meta.json
  • PostToolUse → appends to touches.jsonl and diffs.jsonl
  • Stop → writes summary.json with session stats

Any MCP server, script, or tool can read these files. No coordination needed. The agent doesn't know inscript exists.

Overlap detection

When two Claude Code sessions work on the same project simultaneously, inscript records which files both sessions touch. Run inscript overlap to see collisions.

Metadata

Release files for tiltshift 0.7.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for tiltshift 0.7.0
File Size Uploaded Provenance
tiltshift-0.7.0.tar.gz 18.0 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for tiltshift 0.7.0
File Interpreter ABI Platform
tiltshift-0.7.0-py3-none-any.whl Python 3 none any Details

Total release size: 36.6 kB

Release files / tiltshift-0.7.0.tar.gz

Download URL tiltshift-0.7.0.tar.gz
Size 18.0 kB
Tags Source
SHA-256 checksum
How to use checksums
144fa25981c8d1b16a74ba4de93a609eec5710a98c107c522779a27506caffc0
BLAKE2b-256 checksum
How to use checksums
62983c3f546346c84b62fedf2fb9696a2825228b803d1288b537d4b8feb8d191
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.13

Release files / tiltshift-0.7.0-py3-none-any.whl

Download URL tiltshift-0.7.0-py3-none-any.whl
Size 18.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
086bbb35d88fed79ecbfe5b19ca0822476628059277e35b510e5ebd6ad1caf3f
BLAKE2b-256 checksum
How to use checksums
697317e0388700b1f551fe8ad96f7da4056cd06b9dc9ec7de7eaca61c090a536
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.13

Security for tiltshift 0.7.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.7.0 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page