Changelog

What we shipped and when. No marketing spin, just the work.

Public file sharing, network lockdown, and dollar-based billing

Public file sharing

You can share files from your workspace publicly. Generate a link, send it to someone, they see the file — live-rendered the same way you see it in the file explorer (HTML runs interactively, markdown renders, spreadsheets display as tables). Useful for sharing demos, reports, or anything the agent built that you want to show someone without screenshotting.

”No external access” network mode

Network access controls now have a third option. Previously you could choose between “allow all” (agent reaches any domain) and “connected apps only” (agent can only reach services you’ve explicitly connected). Now there’s “no external access” — the agent can’t reach anything outside the platform. Good for air-gapped workflows or when you want to be absolutely sure nothing leaves the sandbox.

Dollar-based usage

Usage balances now show real dollar amounts. No more abstract credit units — you see what you’ve spent and what’s left in actual currency. Pricing language across the app reflects this: near-API pricing, no credit system.

Connections panel

Connected apps got a dedicated panel in the right rail instead of being buried in settings. OAuth providers show connection counts. Cleaner layout, easier to manage.

File explorer

  • JSONL files render natively
  • Dotfiles are hidden by default (less noise when browsing)
  • More source file types get syntax-highlighted previews

Also shipped

  • Active agent turns recover automatically after a websocket disconnect — no more losing in-flight work when your connection blips
  • Recent task runs show above the prompt in the scheduled task detail panel
  • Mobile: fixed edit-message submission and textarea autogrow
  • Billing section flattened — less visual nesting, easier to scan

DeepSeek and Kimi models, context compaction, pinned files, and billing

New models: DeepSeek V4 Pro and Kimi K2.6

Two new model providers via Fireworks AI. DeepSeek V4 Pro and Kimi K2.6 are available in the model picker alongside Anthropic and OpenAI models. The picker is trimmed to 6 essential options — enough to cover different strengths without decision fatigue.

Context compaction

Long conversations no longer hit a wall. When context gets large, use /compact to summarize and compress it. You can also add custom instructions for what to preserve during compaction. A visible marker in the chat shows where compaction happened and what was kept. The context badge next to the model label shows how full your window is.

Pinned files

Pin important files to a channel’s homebase. They show up as quick-access pills at the top of the channel view. The agent can link you to specific lines in files, specific pages in PDFs, and specific cells in spreadsheets — and those targets highlight when you click through.

Channel homebase

Clicking a channel name now opens a homebase view showing the channel’s instructions, pinned files, and linked conversations. Edit instructions right there with a markdown-optimized editor — word wrap, clean typography, no line numbers getting in the way.

Billing

Printhouse now has a subscription model. $30/month with a 7-day trial. Your ChatGPT subscription offsets costs for OpenAI models. Usage tracking streams in real time, and the paywall is clear about what you get. Credit packs available if you need more.

File links got precise. The agent can point you to:

  • A specific line in a source file — opens in the editor, highlighted
  • A specific page in a PDF
  • A specific cell in a spreadsheet
  • A heading in a rendered markdown file

Click the link, land exactly where you need to be.

Image generation

The agent can generate images using OpenAI’s image models (requires a connected ChatGPT subscription). Results link back to the generated file in your workspace.

Also shipped

  • Optimistic message rendering — your messages appear instantly on send
  • Drop files directly onto conversations to attach them
  • Large pasted text auto-attaches as a file instead of flooding the composer
  • Composer blocks submit while uploads are in progress
  • Copy a file’s path by clicking the filename in the viewer toolbar
  • Delete files from the file explorer toolbar
  • Session links ([[session:id]]) for referencing prior conversations
  • Settings panel redesigned with cleaner layout and grouped connected apps
  • Cooking indicator polish (no more amber glow, smoke animation lingers)
  • Onboarding modal with welcome step and ChatGPT connection walkthrough
  • Connected app metadata notes for richer agent context
  • Exa search added as a platform integration

ChatGPT subscription, conversation search, billing, and model picker

Bring your ChatGPT subscription

Connect your ChatGPT Plus or Pro subscription to Printhouse via a device code flow. Once linked, you can use OpenAI models (GPT-5.5, o3) without burning Printhouse usage credits. The model picker shows which models are available through your subscription versus metered billing.

A post-signup onboarding modal walks you through connecting it.

Cmd+Shift+F opens full-text search across all your conversations. Results show highlighted snippets with channel context. Click a result and it deep-links to the exact message — even if it’s hundreds of messages back, the view progressively loads older messages to get there. Search uses Porter stemming so “running” matches “run.”

There’s also a search trigger button in the channel header if you prefer clicking.

Model picker

The composer now has a model dropdown. Pick from Anthropic (Claude Sonnet 4, Haiku), OpenAI (GPT-5.5, o3), DeepSeek, and Kimi K2. Models are grouped by billing source — your ChatGPT subscription vs. metered usage. If a model isn’t available (missing credentials), it won’t show up.

Model selection persists across conversations.

Skills panel redesign

Skills got a proper list-detail-edit navigation pattern. Browse installed skills, view their contents, edit with a full Monaco editor. The marketplace integrates with skills.sh for community skills — browse, preview, and install with one click.

Object links work for skills now too: [[skill:name]] renders as a clickable pill.

Scheduled tasks panel redesign

Same list-detail-edit pattern as skills. Edit task prompts in a Monaco editor. Tasks can target a new conversation each run or stay pinned to an existing one for accumulated context. Linked-task chips in conversations let you navigate to the associated scheduled task.

Also shipped

  • Object links for channels ([[channel:name]]) and tasks ([[task:name]]) as clickable pills in chat
  • Keyboard shortcuts work in input fields now (previously only fired when nothing was focused)
  • File attachments bumped to 10 files, 20MB each
  • Settings panel moved from a standalone route into the right rail
  • Panel transitions no longer animate when switching between panels
  • Conversation rename — double-click a conversation in the sidebar to rename it
  • Swipe-to-delete conversations on mobile
  • KaTeX math rendering in chat messages and the markdown viewer
  • Inline Mermaid diagrams in chat
  • Inline image rendering in chat
  • HTML preview, audio/video players, and Mermaid diagram viewer in the file explorer

Scheduled tasks, conversations, and diff rendering

Scheduled tasks

Your agent can now do things on a schedule. Cron expressions, intervals, or one-shot timers — all with full access to tools, connected apps, and the filesystem. Set up a daily standup summary, a weekly report, or a one-time reminder that actually does work.

Tasks can be pinned to a conversation so context accumulates across runs. The scheduled tasks panel shows human-readable schedules (“Every weekday at 9am”), last-run times, and collapsible prompts.

Available on mobile too.

Multi-conversation sidebar

Each channel now supports multiple conversations. The sidebar shows previews with relative timestamps (“2m ago”, “yesterday”), and remembers which conversation you last viewed per channel. Start a new conversation with the + button. Delete ones you don’t need.

Drafts persist across navigation — type something, switch channels, come back, it’s still there.

Rich diff rendering

When the agent edits a file, you get a proper inline diff showing exactly what changed — additions, deletions, context lines. Write operations show a file preview. These render right in the chat alongside the agent’s explanation.

Subagent grouping

When the agent spawns sub-agents for parallel work, those tool calls now group under a collapsible parent. Keeps the chat clean. Expand to see the details.

AGENT.md

Your agent’s identity file is now AGENT.md (renamed from SOUL.md). It comes with structured seed content and an onboarding flow that helps you set it up. There’s a dedicated button in the sidebar footer.

Also shipped

  • Markdown files render with rich formatting in the file explorer
  • Copy-to-clipboard button on files in the explorer
  • Scroll-to-bottom fix when sending a message while scrolled up
  • Auto-scroll no longer hijacks your position during streaming
  • Cursor-based message pagination (loads last 50, fetches more on scroll-up)
  • Copy button on assistant messages (hover for previous turns, always visible on the latest)
  • Retry/regenerate button on assistant responses

Channels, mobile support, and keyboard shortcuts

Channels are live

Your workspace is now organized into channels — like Slack, but for working with your AI. Each channel has its own instructions that shape how the agent behaves. An #eng channel that writes code. A #career channel that helps with job stuff. A #strategy channel that thinks bigger. Same agent, different modes.

The agent can create, update, and delete channels on its own. Channel instructions are editable in a Monaco editor right in the file explorer panel.

Mobile

Printhouse works on your phone now.

  • Composer auto-expands for multi-line input. Enter inserts a newline, send via the button.
  • File explorer opens as a fullscreen overlay
  • Long-press messages for a context menu (copy, edit)
  • Sidebar auto-closes on navigation
  • No more iOS Safari auto-zoom in editors

Keyboard shortcuts

  • Cmd+K: command palette
  • Cmd+E: file explorer
  • Cmd+J: terminal
  • Cmd+B: sidebar toggle
  • Cmd+Shift+M: fullscreen tool panel
  • Escape: close shortcuts cheatsheet or any open overlay

The full list shows up in a cheatsheet modal.

Expanded tool call details

Click any tool call to expand it and see the full arguments and output. Edit tool calls now show rich diffs so you can see exactly what the agent changed.

Also shipped

  • GitHub CLI baked into the sandbox image — gh just works
  • Infinite scroll for message history instead of a “Load older” button
  • 73 OAuth providers via Composio (up from 1)
  • /model shows the effective model in the composer, even when using the agent default
  • Favicon and OG metadata
  • Agent identity renamed from SOUL.md to AGENT.md with structured seed content

File explorer, terminal, and persistent containers

Big week. The workspace went from “chat window” to something you can actually live in.

File explorer

A full split-pane file browser that shows you the agent’s filesystem. Browse directories, view files with syntax highlighting, edit them in a Monaco editor. PDFs render inline. Spreadsheets (xlsx, xls, csv) get a proper table view. Global file search across the entire filesystem.

When the agent edits a file, the explorer auto-refreshes. Click a filename in any tool call and it opens right there. Cmd+E toggles the panel.

Terminal

An interactive terminal panel (xterm.js) connected to the same machine the agent runs on. Cmd+J to toggle it. You can also run shell commands directly from the composer with the $ prefix — output shows up inline.

Persistent containers

Each user now gets their own persistent container. Your files, installed packages, and environment survive across conversations and sessions. No more starting from scratch every time.

Connected apps: OAuth support

Connected apps got OAuth via Composio. Instead of pasting API keys, you can authenticate with a click for supported providers. The agent can also trigger OAuth flows itself when it needs access to something.

Other notable stuff

  • Per-channel model switching via /model command
  • File editing with Monaco editor and Cmd+S save
  • Clickable file path pills in agent responses
  • System prompt builder for customizing agent behavior
  • Channels backend with full CRUD, per-channel instructions, and message history

The foundation

Printhouse exists. We went from a blank repo to a working cloud AI workspace in four days. Here’s what shipped.

The core loop. You type a message, your AI agent responds, and it has a full computer to work with. File system, shell access, package installs — the agent runs on its own machine in the cloud, not yours. Conversations stream in real time over WebSocket.

Chat that actually works. Markdown rendering, syntax-highlighted code blocks with copy buttons, file attachments (drag-and-drop or paste), and a thinking indicator so you know when the agent is working. You can edit any prior message and fork the conversation from that point.

Structured agent questions. The agent can pause and ask you things with multi-choice forms or freeform input — not just “type yes or no” in chat.

Skills. Reusable instruction sets you attach to messages via a / picker in the composer. Think of them as modes you can drop the agent into for specific tasks.

Tool call visibility. Every tool the agent runs shows up as a lightweight activity feed with friendly descriptions and per-tool icons. You can see exactly what it’s doing.

Connected apps. Encrypted credential storage with a proxy that swaps in real API keys at request time. Your agent never touches your actual credentials. Network access controls let you lock the agent down to only the services you’ve explicitly connected.

Steering. You can send messages while the agent is still working. They queue up and get delivered when the agent is ready. No more waiting for it to finish before you can course-correct.

Auth. Clerk-based authentication with per-user isolated containers. Your workspace is yours alone.