What it is
fakechat is a simple UI for testing the Claude Code channel contract without an external service. You open a browser and type, your messages go to your Claude Code session, and the assistant's replies come back in-thread. The plugin manifest describes it as a "Localhost iMessage-style web chat for Claude Code", a test surface with file upload and edits, with no tokens and no access control.
The plugin gives the assistant two tools. reply sends a message to the UI. It takes text, plus an optional reply_to (a message ID) and optional files (an absolute path, up to 50MB). An attachment appears as [filename] under the text. edit_message edits a previously sent message in place.
Files work in both directions. Images and files you send from the browser are saved to ~/.claude/channels/fakechat/inbox/, and the path is included in the notification. Files the assistant sends are copied to outbox/ and served over HTTP. When the server starts, it prints its URL to stderr, by default http://localhost:8787. You can change the port with the FAKECHAT_PORT environment variable.
fakechat is deliberately not a real channel. It has no history, no search, no access.json and no skill. It supports a single browser tab, and the chat starts fresh on every reload. The README is explicit that this is a dev tool, not a messaging bridge.
Who it's for
- Developers testing the Claude Code channel contract without an external messaging service
- Plugin and channel developers who need a local test surface for replies, edits and file attachments
- Anyone who wants a quick localhost web chat into a Claude Code session for development purposes
Requirements
Requirements
- Claude Code (run
claudeto start a session first) - A web browser to open the localhost chat UI
- Claude Code relaunched with the
--channels plugin:fakechat@claude-plugins-officialflag (the server won't connect without it) - Optional: the
FAKECHAT_PORTenvironment variable to change the default port
Setup
Start a Claude Code session
The setup commands are Claude Code commands, so run
claudeto start a session first.shclaudeInstall the plugin
Inside the Claude Code session, install fakechat from the official plugin marketplace.
bash/plugin install fakechat@claude-plugins-officialRelaunch with the channel flag
Exit your session and start a new one with the channel flag. The server won't connect without this.
shclaude --channels plugin:fakechat@claude-plugins-officialOpen the printed URL
On startup the server prints its URL to stderr. Open it in your browser and type. The assistant replies in-thread. Set
FAKECHAT_PORTto change the port.bashfakechat: http://localhost:8787
fakechat هو بلاجن لـ Claude Code بيفتحلك واجهة شات بسيطة عالمتصفح على localhost، متل iMessage، لتجرّب فيها الـ channel contract من دون أي خدمة خارجية. بتكتب بالمتصفح، الرسالة بتوصل لجلسة Claude Code، والرد بيرجعلك بنفس المحادثة.
Examples
Install the plugin
Code/plugin install fakechat@claude-plugins-officialWhat it does: A slash command you run inside a Claude Code session to install fakechat.
Launch Claude Code with the fakechat channel
shclaude --channels plugin:fakechat@claude-plugins-officialWhat it does: Starts a new Claude Code session with the fakechat channel enabled, so the local chat server can connect.
Server startup output
Codefakechat: http://localhost:8787What it does: The URL the server prints to stderr on startup. Open it in a browser to start chatting with your session.