Client editing for Claude Code

Let clients edit your Claude Code site.

You built the site in Claude Code in a session or two. Handing the client an editor should not mean adding a CMS, a database and a runtime dependency to a site that is happily static.

Tusk is a client editing layer for sites you already built. You keep the code, the repo and the hosting. Tusk marks the text, photos and downloads the client may change, and the client changes them on their own live page. Nothing of Tusk runs between a visitor and the site.

Where your Claude Code site needs to be

  1. Nothing to export. The repo is already yours and Claude Code speaks MCP, so it connects the site in the same session you built it in.
  2. Deploy wherever you already do. Vercel, Netlify, Cloudflare Pages and GitHub Pages all work; anything with a deploy hook or a commit-triggered build.

Connecting it, step by step

  1. Add Tusk to Claude Code: claude mcp add tusk -- npx -y @tuskcms/mcp (or paste the JSON below into .mcp.json).
  2. Log in once: npx @tuskcms/mcp login --site <slug>. It prints a link; open it and press Approve & connect. Claude Code now holds a token issued for this site, never your password.
  3. Say “Connect this site to Tusk CMS.” It reads the guide, marks the editable elements in your HTML or JSX, adds the two build scripts, sets up the deploy hook with you, publishes once and checks the site picked it up.
  4. Invite the client from the dashboard. From then on they change their own words.

The MCP config, for Claude Code. Nothing to install: it runs from npm on demand.

{ "mcpServers": { "tusk": { "command": "npx", "args": ["-y", "@tuskcms/mcp"] } } }

No MCP? Paste this one line into any AI tool that can read a URL and edit files:

Connect this site to Tusk CMS. Read https://tuskcms.com/llms-full.txt first and follow it exactly.

Start from a template

The Tusk starter is a GitHub template: a three-page business site in plain HTML, already marked up, with the build step and Vercel and Netlify config in place. Use the template, deploy it, say “Connect this site to Tusk CMS.”, and hand it to the client. Then reshape it into their site.

Starting from a prompt instead? Ask your tool to build the site with the marks in from the start: the first-prompt version works in any builder.

What the client gets

  • Their own login. They open an editor with a live preview of their real website beside the fields you marked, click a heading, a paragraph, a photo or a download, change it, and press Publish.
  • Nothing of yours. No repo, no Claude Code, no code, no layout or styles. What you did not mark cannot be edited.
  • History of the last 30 days, with any version restored as a draft, so a bad edit is never permanent.
  • A Publish that reaches the live site through your own host, and a dashboard that tells you both whether it did.

What you keep

  • The codebase, the hosting and the deploy. Tusk triggers a deploy hook you own, and that link, encrypted, is all it holds of your host.
  • A static site that stays static: published content and images are written into your build by two zero-dependency scripts. The deployed site never calls Tusk.
  • The retainer. The client pays you; you pay Tusk by site. Clients never pay for their login.
  • The exit. Export gives you a site’s words, photos, fields and 30 days of versions as files; disconnect cuts every tie and the site keeps serving.

Questions Claude Code developers ask

What can the token Claude Code holds actually do?

What you approved on the screen, for the one site you named: scan, fields, content, publish, deploy, invite. It never holds your password, and deploy hooks and host tokens are only ever shown to it masked. It expires by itself after 30 days; revoke it sooner under Studio settings › Connected tools & devices.

Does this add a runtime dependency to my static site?

No. Published content and photos are pulled at build time by two zero-dependency scripts and written into your own files. The deployed site never calls Tusk. If Tusk vanished tomorrow the site would keep serving.

Can I mark things by hand instead?

Yes. One data-tusk attribute per editable element, then Scan in the dashboard. Claude Code just does the boring part.

Also built with Cursor, Codex, Next.js? Tusk works the same way. All builders: Lovable, v0, Bolt, Replit, Codex, Cursor, Windsurf, Next.js, Astro, Eleventy, Framer, plain HTML, and any site with a build step or deploy hook.