Skip to content
KeenKind.Docs
Console

Pi extension compatibility

KeenKind supports part of the Pi extension ecosystem to help migrate existing tools and Skills. The compatibility layer reuses tool capabilities rather than reproducing Pi’s full interface or session system.

Supported capabilities

Jump to Supported capabilities
  • Standard SKILL.md files.
  • TypeScript/JavaScript tool registration.
  • JSON Schema or TypeBox-style tool parameters.
  • Tool execution, progress, and cancellation.
  • Common startup, shutdown, and tool lifecycle events.
  • Non-interactive subprocess calls.

Unsupported capabilities

Jump to Unsupported capabilities
  • Pi terminal UI and custom rendering.
  • Keyboard shortcuts, themes, and interactive commands.
  • Custom model providers and model switching.
  • Taking over KeenKind chats, permissions, or settings.
  • Extensions requiring persistent terminal interaction.

Unsupported features appear in compatibility diagnostics rather than being simulated as successful.

  1. Import or enable the extension in Settings > Extensions > Plugins.
  2. Review compatibility diagnostics in its details.
  3. Check registered tool names, descriptions, and parameters.
  4. Test read-only calls in Ask for approval mode.
  5. Verify results, errors, cancellation, and restart.
  6. Rewrite Pi UI-dependent parts as KeenKind Skills or native plugins.

Compatibility recommendations

Jump to Compatibility recommendations
  • Put core logic in ordinary tool functions without terminal UI dependencies.
  • Use serializable arguments and results.
  • Avoid global mutable state.
  • Handle cancellation and exceptions explicitly.
  • Avoid changing the user environment during module loading.
  • Prefer native KeenKind plugins for new projects.

Pi extensions execute third-party code. Review sources, dependencies, and permissions before migration and verify in an isolated test project.