diff --git a/packages/coding-agent/README.md b/packages/coding-agent/README.md index 93e7295f..8116a2c1 100644 --- a/packages/coding-agent/README.md +++ b/packages/coding-agent/README.md @@ -347,6 +347,10 @@ All keyboard shortcuts can be customized via `~/.pi/agent/keybindings.json`. Eac | `toggleThinking` | `ctrl+t` | Toggle thinking | | `externalEditor` | `ctrl+g` | Open external editor | | `followUp` | `alt+enter` | Queue follow-up message | +| `selectUp` | `up` | Move selection up in lists (session picker, model selector) | +| `selectDown` | `down` | Move selection down in lists | +| `selectConfirm` | `enter` | Confirm selection | +| `selectCancel` | `escape`, `ctrl+c` | Cancel selection | **Example (Emacs-style):** diff --git a/packages/coding-agent/src/main.ts b/packages/coding-agent/src/main.ts index 2d31a003..1b1d12e9 100644 --- a/packages/coding-agent/src/main.ts +++ b/packages/coding-agent/src/main.ts @@ -17,6 +17,7 @@ import { CONFIG_DIR_NAME, getAgentDir, getModelsPath, VERSION } from "./config.j import { createEventBus } from "./core/event-bus.js"; import { exportFromFile } from "./core/export-html/index.js"; import { discoverAndLoadExtensions, type LoadExtensionsResult, loadExtensions } from "./core/extensions/index.js"; +import { KeybindingsManager } from "./core/keybindings.js"; import type { ModelRegistry } from "./core/model-registry.js"; import { resolveModelScope, type ScopedModel } from "./core/model-resolver.js"; import { type CreateAgentSessionOptions, createAgentSession, discoverAuthStorage, discoverModels } from "./core/sdk.js"; @@ -313,6 +314,9 @@ export async function main(args: string[]) { // Handle --resume: show session picker if (parsed.resume) { + // Initialize keybindings so session picker respects user config + KeybindingsManager.create(); + const sessions = SessionManager.list(cwd, parsed.sessionDir); time("SessionManager.list"); if (sessions.length === 0) {