Appearance
Slop-Poe CLI
The slop-poe CLI is a command-line tool for the Slop-Poe REST API, similar to gh for GitHub. It supports both interactive use and scripted automation via --json output.
Prerequisites
- Monorepo cloned
POE_API_KEYenvironment variable set (get one at poe.com/api_key)
Installation
Poe Employee Note
The CLI requires access to the monorepo. Clone it and run the install script:
bash
# From the repo root
cd apps/slop-poe-cli
bun run install-cliHow the install script works
This creates a symlink at ~/.local/bin/slop-poe pointing to your local clone. It's idempotent — safe to run multiple times. If you have multiple clones, the last one to run install-cli wins.
Make sure ~/.local/bin is on your PATH:
bash
export PATH="$HOME/.local/bin:$PATH"See the install script source for details.
Commands
auth — Authentication & Account Info
bash
slop-poe auth login # Verify API key, show user info
slop-poe auth whoami # Show current user
slop-poe auth usage # Show point balance
slop-poe auth points-history # Show usage history table
slop-poe auth logout # End sessionapps — App Management
bash
slop-poe apps list # List all your apps
slop-poe apps get <appHandleOrId>
slop-poe apps publish --handle my-app --dir ./distchat — Interactive AI Chat
bash
slop-poe chat # Start interactive chat (default: Claude-Opus-4.6)
slop-poe chat --model GPT-4o # Use a different modelmodels — Model Management
bash
slop-poe models list # List available LLM modelsaccounts — Connected Accounts
bash
slop-poe accounts list # List linked OAuth accounts
slop-poe accounts unlink <providerId>Global Options
bash
--json # Output as machine-readable JSON
--server <url> # Override the server URL (e.g. for local dev)
--version # Show version
--help # Show helpEnvironment Variables
POE_API_KEY(required) — Your Poe API key (get one here)POE_SERVER_URL(optional) — Server URL override (same as--serverflag)
JSON Output & Scripting
All commands support --json for machine-readable output, making it easy to pipe into tools like jq:
bash
# List app handles
slop-poe apps list --json | jq '.[].handle'
# Sum point costs
slop-poe auth points-history --json | jq '[.[] | .cost_points] | add'
# Get a specific app's bundle URL
slop-poe apps get myuser/my-app --json | jq '.bundleUrl'Local Development
Point the CLI at a local server:
bash
slop-poe --server http://localhost:8787 apps listProgrammatic Usage
The CLI package also exports a SlopPoeClient for use in scripts and tools:
typescript
import { SlopPoeClient, assertSuccess } from "@ai-app/slop-poe-cli";
const client = new SlopPoeClient({ apiKey: process.env["POE_API_KEY"]! });
const result = await client.listApps();
assertSuccess(result); // throws on failure
for (const app of result.apps) {
console.log(`${app.handle} (${app.id})`);
}