English | 日本語
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).

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.)

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.

You can launch a file searched for with a file path or @ and check its contents. (Ctrl+Enter or Cmd+Click)
You can search for files by typing @.
※ fd command installation is required. (brew install fd)
※ You need to configure fileSearch in ~/.prompt-line/settings.yml. See "⚙️ Settings" section.
※ Supported applications: Terminal.app, iTerm2, JetBrains IDEs (IntelliJ, WebStorm, etc.), VSCode, Cursor, Windsurf
You can search for slash commands by typing /.
※ You need to configure mdSearch in ~/.prompt-line/settings.yml. See "⚙️ Settings" section.
You can also configure to search for sub-agents and skills by typing @.
- 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-lineTo 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.
- You can start using it with
Cmd+Shift+Space.
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-accessibilityIf you already have an older version installed and want to update to the latest version, follow these steps.
- Run the
npm run reset-accessibilitycommand to reset the accessibility permissions in the “Prompt Line.” - Refer to the “📦 Installation” section and reinstall
- Move to where you want to input
- Press
Cmd+Shift+Spaceto open Prompt Line - Type your text
- Press
Cmd+Enterto paste text - Continue working
- History Panel - Click previous entries to reuse. Search is also available. (
Cmd+f) - Draft Autosave - Automatically saves your work
- Image Support - Paste clipboard images with
Cmd+V - File Opener - Open files from file path text (
Ctrl+EnterorCmd+Click) - File Search - Search files by typing
@(requires fd command and settings configuration) - Markdown Search - Search slash commands by typing
/or sub-agents by typing@(requires settings configuration)
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
# ============================================================================
# Format: Modifier+Key (e.g., Cmd+Shift+Space, Ctrl+Alt+Space)
# Available modifiers: Cmd, Ctrl, Alt, Shift
shortcuts:
main: Cmd+Shift+Space # Show/hide the input window (global)
paste: Cmd+Enter # Paste text and close window
close: Escape # Close window without pasting
historyNext: Ctrl+j # Navigate to next history item
historyPrev: Ctrl+k # Navigate to previous history item
search: Cmd+f # Enable search mode in history
# ============================================================================
# WINDOW SETTINGS
# ============================================================================
# Position options:
# - active-text-field: Near focused text field (default, falls back to active-window-center)
# - active-window-center: Center within active window
# - cursor: At mouse cursor location
# - center: Center on primary display
window:
position: active-text-field
width: 600 # Recommended: 400-800 pixels
height: 300 # Recommended: 200-400 pixels
# ============================================================================
# FILE OPENER SETTINGS
# ============================================================================
# Configure which applications to use when opening file links
# When defaultEditor is null, system default application is used
fileOpener:
# Default editor for all files (null = use system default application)
# Example values: "Visual Studio Code", "Sublime Text", "WebStorm"
defaultEditor: null
# Extension-specific applications (overrides defaultEditor)
#extensions: # Extension-specific apps (uncomment to enable)
# ts: "WebStorm"
# md: "Typora"
# pdf: "Preview"
# ============================================================================
# FILE SEARCH SETTINGS (@ mentions)
# ============================================================================
# Note: fd command is required for file search (install: brew install fd)
# When this section is commented out, file search feature is disabled
#fileSearch: # File search for @ mentions (uncomment to enable)
# respectGitignore: true # Respect .gitignore files
# includeHidden: true # Include hidden files (starting with .)
# maxFiles: 5000 # Maximum files to return
# maxDepth: null # Directory depth limit (null = unlimited)
# followSymlinks: false # Follow symbolic links
# fdPath: null # Custom path to fd command (null = auto-detect)
# #excludePatterns: # Additional exclude patterns
# # - "*.log"
# # - "*.tmp"
# #includePatterns: # Force include patterns (override .gitignore)
# # - "dist/**/*.js"
# ============================================================================
# MARKDOWN SEARCH SETTINGS (Slash Commands & Mentions)
# ============================================================================
# Configure sources for slash commands (/) and mentions (@)
# Template variables: {basename}, {frontmatter@fieldName}
#mdSearch: # Slash commands & mentions (uncomment to enable)
# # Pattern examples:
# # "*.md" - Root directory only
# # "**/*.md" - All subdirectories (recursive)
# # "**/commands/*.md" - Any "commands" subdirectory
# # "**/*/SKILL.md" - SKILL.md in any subdirectory
# # "**/{cmd,agent}/*.md" - Brace expansion (cmd or agent dirs)
# # "test-*.md" - Wildcard prefix
#
# - name: "{basename}"
# type: command # 'command' for / or 'mention' for @
# description: "{frontmatter@description}"
# path: ~/.claude/commands
# pattern: "*.md"
# argumentHint: "{frontmatter@argument-hint}" # Optional hint after selection
# maxSuggestions: 20 # Max number of suggestions (default: 20)
#
# - name: "agent-{basename}"
# type: mention
# description: "{frontmatter@description}"
# path: ~/.claude/agents
# pattern: "*.md"
# maxSuggestions: 20
# searchPrefix: "agent:" # Require @agent: prefix for this entry (optional)
#
# - name: "{frontmatter@name}"
# type: mention
# description: "{frontmatter@description}"
# path: ~/.claude/plugins
# pattern: "**/*/SKILL.md" # Match SKILL.md in any plugin subdirectory
# maxSuggestions: 20
# searchPrefix: "skill:" # Require @skill: prefix for this entry- 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
See Contribution Guide for details.
MIT License - see LICENSE for details.






