open-hashline is an OpenCode plugin that transforms read output and resolves edit references. It runs in the same process as OpenCode with the same permissions.
- Reads file contents from disk to compute hashes (via
fs.readFileSync) - Stores line content in memory for hash resolution
- Modifies tool output (read) and tool input (edit) through hooks
- Make network requests
- Execute shell commands
- Access files beyond what OpenCode's built-in read/edit tools already access
- Persist data to disk (all state is in-memory, per-session)
The following are not considered vulnerabilities in this plugin:
- Hash collisions (by design, 3 hex chars = 4096 values; line numbers disambiguate)
- Stale hash references (handled by rejection + re-read)
- OpenCode's own security model (file access, shell execution, etc.)
If you discover a security issue, please report it via GitHub Security Advisories rather than opening a public issue.