macOS floating text input tool that enables quick text entry across any application.
Prompt Line is a macOS app developed to improve the prompt input experience in the terminal for CLI-based AI coding agents such as Claude Code, Gemini CLI, OpenAI Codex CLI, and Aider. It addresses UX challenges related to multi-byte character input (e.g., Japanese) by providing a dedicated floating input interface.
This greatly reduces stress when entering text in the following cases in particular.
- Prompt input for CLI-based AI coding agents in the terminal
- Chat apps where pressing Enter sends the message at an unintended time
- Text editor with slow input response (e.g., large Confluence documents)
Quick launch with shortcut (Cmd+Shift+Space
).
Type text and quick paste (Cmd+Enter
).
Prompt history is saved and can be reused from the right menu.
Search is also available. (Cmd+f
)
Can be launched anywhere there's a text input field.
Also convenient when you want to reuse the same prompt in other apps.
Of course, it also works with apps other than Terminal.
The operation is the same as a typical text editor.
Of course, you can also use it in combination with a voice input app.
Pressing Enter will not automatically send the text, so you don't have to worry about line breaks.
It is also ideal for editing text entered by voice.
(This video uses superwhisper.)
- macOS 10.14 or later
- Node.js 20 or later
- Xcode Command Line Tools or Xcode (for compiling native tools)
-
Clone the repository:
git clone https://github.com/nkmr-jp/prompt-line.git cd prompt-line
To build a specific version:
git clone https://github.com/nkmr-jp/prompt-line.git cd prompt-line git checkout v0.x.x # Replace with desired version tag
-
Install dependencies:
npm install
-
Build the application:
npm run build
-
The built app will be created in the
dist/
directory -
Open the dmg file:
open dist/Prompt-Line-0.x.x-arm64.dmg # Apple Silicon open dist/Prompt-Line-0.x.x-x64.dmg # Intel
-
Drag Prompt Line.app to Applications folder
-
Launch Prompt Line. An icon will appear in the system tray.
Prompt Line requires accessibility permissions to paste text into other applications. A dialog box will appear on first use, so follow the instructions to set it up.
- Open System Settings → Privacy and Security → Accessibility.
- Find “Prompt Line” in the list and enable it.
- If it is not in the list, add Prompt Line from Applications using the “+” button.
- Open System Settings → Privacy and Security → Accessibility
- Delete “Prompt Line” from Applications using the “-” button to reset permissions
- The issue should be resolved after reconfiguring settings.
Accessibility permissions can also be reset using the following command:
npm run reset-accessibility
- Move to where you want to input
- Press
Cmd+Shift+Space
to open Prompt Line - Type your text
- Press
Cmd+Enter
to paste text - Continue working
- History Panel - Click previous entries to reuse. Search is also available.
- Draft Autosave - Automatically saves your work
- Image Support - Paste clipboard images with
Cmd+V
You can customize Prompt Line's behavior by creating a settings file at ~/.prompt-line/settings.yml
:
# Prompt Line Settings Configuration
# This file is automatically generated but can be manually edited
# Keyboard shortcuts configuration
shortcuts:
# Global shortcut to show/hide the input window
# Format: Modifier+Key (e.g., Cmd+Shift+Space, Ctrl+Alt+Space)
# Available modifiers: Cmd, Ctrl, Alt, Shift
main: Cmd+Shift+Space
# Shortcut to paste selected text and close window
# Used when typing in the input window
paste: Cmd+Enter
# Shortcut to close window without pasting
# Used to cancel input and close window
close: Escape
# Shortcut to navigate to next history item
# Used when browsing paste history
historyNext: Ctrl+j
# Shortcut to navigate to previous history item
# Used when browsing paste history
historyPrev: Ctrl+k
# Shortcut to enable search mode in history
# Used to filter paste history items
search: Cmd+f
# Window appearance and positioning configuration
window:
# Window positioning mode
# Options:
# - 'active-text-field': Position near the currently focused text field (default, falls back to active-window-center)
# - 'active-window-center': Center within the currently active window
# - 'cursor': Position at mouse cursor location
# - 'center': Center on primary display
position: active-text-field
# Window width in pixels
# Recommended range: 400-800 pixels
width: 600
# Window height in pixels
# Recommended range: 200-400 pixels
height: 300
- All data stored locally on your Mac
- No internet connection required
- Prompt history saved in
~/.prompt-line/history.jsonl
- Saved in JSON Lines format, so you can analyze it using DuckDB
MIT License - see LICENSE for details.