@thisux/pi-double-esc-clear

Clear a non-empty Pi editor draft with double Escape

Packages

Package details

extension

Install @thisux/pi-double-esc-clear from npm and Pi will load the resources declared by the package manifest.

$ pi install npm:@thisux/pi-double-esc-clear
Package
@thisux/pi-double-esc-clear
Version
1.0.3
Published
Jul 14, 2026
Downloads
564/mo · 564/wk
Author
sanjusivalingam
License
MIT
Types
extension
Size
7.1 KB
Dependencies
0 dependencies · 2 peers
Pi manifest JSON
{
  "extensions": [
    "./extensions"
  ]
}

Security note

Pi packages can execute code and influence agent behavior. Review the source before installing third-party packages.

README

@thisux/pi-double-esc-clear

Clear a non-empty Pi editor draft with double Escape.

Built-in double-Esc only acts when the editor is empty (default: open /tree via doubleEscapeAction). If you've started typing a prompt and want to throw it away, two quick Esc presses clear the draft without aborting a run or opening the session tree.

Install

pi install npm:@thisux/pi-double-esc-clear

Already in a session?

/reload

One-off try (no settings write):

pi -e npm:@thisux/pi-double-esc-clear

Update later:

pi update npm:@thisux/pi-double-esc-clear

Usage

  1. Type a draft in the editor while the agent is idle.
  2. Press Esc Esc within ~500ms (same window Pi uses for empty double-Esc).
  3. The draft clears. Empty-editor double-Esc still does whatever doubleEscapeAction is set to.
Editor state Double Escape
Has draft text, agent idle Clears the draft
Empty, agent idle Built-in action (tree / fork / none)
Agent streaming or bash running Abort (Pi default)
Autocomplete open Cancel autocomplete (Pi default)

Escape is matched against your app.interrupt keybinding if you've remapped it.

Notes

  • Does not change empty-editor behavior or streaming abort.

  • Prefer the package over a hand-copied ~/.pi/agent/extensions/double-esc-clear.ts — remove the loose file so it doesn't load twice:

    rm -f ~/.pi/agent/extensions/double-esc-clear.ts
    
  • Enable/disable via pi config. Confirm with pi list.

Links

Release flow

Same automation as @thisux/sveltednd:

  1. Land PRs on main with conventional commits (feat:, fix:, docs:, …).
  2. release-please opens a release PR (version bump + CHANGELOG.md).
  3. Merge the release PR → GitHub Release/tag → CI runs bun publish.

Manual republish: Actions → ReleaseRun workflow (pass an existing tag).

Needs repo secret NPM_TOKEN (npm automation token allowed to publish under @thisux).

License

MIT · ThisUX