Skip to content

extension_publish ​

Publish the project your stored token is scoped to (extension_auth, or EXTENSION_DEV_TOKEN) to extension.dev, and return its shareable URL.

Quick start ​

Give me the shareable URL of the latest build

How the agent uses it ​

This is what "deploy" or "ship" an extension usually means; extension_submit is the separate store-review path. The target is the token's project: there is no projectPath, and no local file is uploaded. With several logins stored, pass project ('<workspace>/<project>') to pick which one; it outranks EXTENSION_DEV_TOKEN. For a public project the URL is the canonical public page and ttlHours does not apply. For a private one it is a fresh time-limited share link (?share=) whose lifetime is ttlHours.

Reference ​

Groupplatform, on with --features=local,platform (private alpha)
TierPlatform
Needsthe server started with --features=local,platform, and a login
Read onlyno
Destructiveno
Idempotentno
Reaches the open webyes

Inputs ​

InputTypeRequiredDefaultWhat it does
projectstringnoWhich stored login to use, as '<workspace>/<project>' (or a project slug that matches one login), when extension_auth has signed in to more than one project on this machine. Omitted, the most recent login is used, after EXTENSION_DEV_TOKEN when that is set. Named, it outranks EXTENSION_DEV_TOKEN. extension_auth (action: status) lists the stored logins.
ttlHoursnumbernoPrivate-project share-link lifetime in hours, 1-168 (default 24). Ignored for public projects.
buildShastringnoPin the URL to a build sha (7-40 hex chars). The platform rejects a sha missing from a readable build index; when its index cannot be read it echoes the sha back and a pin on a failed build is accepted, so value.buildSha is the platform's claim, not a verified build. extension_release_status lists the builds it knows.
apistringnoPlatform base URL (default EXTENSION_DEV_API_URL, else https://www.extension.dev)

When it fails ​

  • The tool is missing from the client's list. Start the server with --features=local,platform; see Platform tools.
  • The platform refuses the call. Log in first with extension_auth.
  • The answer reads status: "platform-held". extension.dev is not open to the public yet, so nothing ran on its machines. Creating, running and building an extension still work on your machine; see Use the platform from your agent.
  • The answer depends on the network. This tool reaches the open web, so a refusal can be the network, not the project.

Next ​

  • MCP server: install, the two groups and the session gates
  • Install in your client
  • extension_auth: Sign this machine in to extension.dev, report that login, or clear it.
  • extension_builds: Read, rebuild and configure the platform's builds of the logged-in project on extension.dev.
  • extension_preview_web: Preview an in-progress extension in the web emulator, with no real browser.
  • extension_project_create: Create an extension.dev project for an extension that does not have one yet, without opening the console.
  • extension_release_promote: Promote a built extension to a release channel (stable, preview, beta, …) on extension.dev, headless.
  • extension_release_status: Read where a project stands on extension.dev, from the public registry (registry.extension.land).
  • extension_shares: List, create and revoke the public preview links this token has shared, which is what extension_preview_web share:true hands out.
  • extension_submit: Submit a built extension for store REVIEW through extension.dev, which holds your store credentials and dispatches from your project's mirror CI: the Chrome Web Store, Firefox A...
  • extension_workspace: Read the extension.dev workspace a stored login belongs to: its plan and limits, its projects, and its usage.
  • extension_workspace_create: Create an extension.dev workspace that does not exist yet, without opening the console.