Your coding plans.
One runtime.

Pkwn gives Claude, Codex, and Gemini a shared, persistent operating surface: an interactive terminal, hub-style sessions, and an OpenAI-compatible API.

runtime
Node ≥ 22.5
storage
SQLite + WAL
default bind
127.0.0.1:8787
route tableall systems legible
your terminalpkwn daemon
01
ClaudeSubscription OAuth → Anthropic Messages
02
CodexSubscription OAuth → ChatGPT Codex
03
GeminiGoogle OAuth → Gemini Code Assist

Direct API turnsno vendor CLI subprocess required

Persistent sessionsresume after restart; search every transcript

Explicit permissionssafe, edit, and full are visible boundaries

Route, don't relay.

Pkwn owns the durable parts of agent work: credentials, transcript history, tool execution, and session identity. Each backend remains its own direct provider connection.

A / direct

One interface, provider-specific contracts.

Use the same terminal and session model while each adapter translates canonical history and tools to the provider's wire format.

B / durable

History is yours to inspect.

Sessions and raw transcript events persist in local SQLite databases, including tool results and searchable conversation content.

C / bounded

Exposure is an operator decision.

Loopback binding is the default. A non-loopback daemon requires an API key; permissions govern what the agent may do inside a project.

Start in four deliberate moves.

No hidden cloud control plane. You install the runtime, select the accounts it may use, and keep the daemon where you can operate it.

  1. 01

    Install

    npm install -g punakawan — no build step, no repo checkout.

  2. 02

    Authenticate

    Log in only to the providers you intend to use.

  3. 03

    Start

    Run pkwn; it self-starts its local daemon when needed.

  4. 04

    Work

    Use the TUI, OpenAI-compatible API, or a persistent session.

Install the package

Then run pkwn auth login <backend> for each provider you plan to use.

npm install -g punakawan
pkwn init

Built for the work after the first prompt.

Pkwn keeps agent work from becoming a disposable terminal invocation without turning the operating model into a black box.

Session control

Attach, resume, stop, remove, and full-text search conversations through the TUI or REST API.

Read session control

Automation without amnesia

Cron schedules reuse their own persistent session, and Telegram is an optional client of the daemon API.

Read automation

One runtime, many surfaces

Work in the Ink terminal UI, call an OpenAI-compatible endpoint, connect over WebSocket, or route approved Telegram chats.

Read the API

Subscription access is not an abstraction layer.

Pkwn's adapters use provider-specific OAuth and direct endpoints. Consumer-account terms, OAuth traffic requirements, and model availability remain vendor-controlled. Review the provider notes before pointing Pkwn at an account you cannot afford to have restricted.

Read provider and exposure notes