Skip to content

Register Agora in Claude Code

nitekeeper edited this page Jun 24, 2026 · 5 revisions

Register Agora in Claude Code

Agora is a self-hosted, curated Claude Code plugin marketplace. To use the plugins it indexes, you first add agora as a marketplace in Claude Code, then install plugins from it — including the agora plugin itself, which gives you the agora:run skill.

There are two ways to register agora:

  • Path A — Add it in Claude Code (recommended): use the native plugin manager UI; no clone required.
  • Path B — Local bootstrap: clone the repo and run a setup script that registers a local-directory marketplace pointer and compiles marketplace.json.

Note: Agora exposes exactly one skill, agora:run. There are no agora:<verb> slash commands — you invoke agora:run and describe your intent in natural language. To get that skill, install the agora plugin from the marketplace (Path A step 4).

Want to index your own plugins? This page covers adding the canonical nitekeeper/agora marketplace (which currently isn't accepting third-party plugins). To publish your own plugins, run your own Agora instance — see Run Your Own Agora.

Related pages: Home · Run Your Own Agora

Path A — Add it in Claude Code (recommended, no clone)

1. Open the plugin manager

In Claude Code, run the /plugin command. The slash menu labels it Manage Claude Code plugins. This opens the plugin manager.

Run the /plugin command

2. Open the "Marketplaces" tab

Switch to the Marketplaces tab. The plugin manager has these tabs: Plugins, Discover, Installed, Marketplaces, and Errors. The Marketplaces tab shows Manage marketplaces, a + Add Marketplace entry, and any marketplaces you've already added.

The footer shows the available hotkeys: Enter to select · u to update · d to remove · Esc to go back.

The Marketplaces tab

3. Add the agora marketplace

Choose + Add Marketplace. In the Add Marketplace dialog, you'll see Enter marketplace source: with example formats (owner/repo (GitHub); git@github.com:owner/repo.git (SSH); https://example.com/marketplace.json; ./path/to/marketplace).

Type the agora source and press Enter:

https://github.com/nitekeeper/agora

The following forms are all accepted and resolve to the same marketplace:

  • https://github.com/nitekeeper/agora
  • nitekeeper/agora (the owner/repo short form)
  • git@github.com:nitekeeper/agora.git (the SSH form)

The footer shows: Enter to add · Esc to cancel.

The Add Marketplace dialog

4. Install plugins from agora

After adding, agora appears in the Marketplaces list. Now install plugins from it: open the Plugins or Discover tab, select an agora plugin, and install it.

To get the agora:run skill, install the agora plugin from the marketplace. (The agora plugin is itself indexed in the marketplace, so installing it is how a consumer obtains agora:run.) Installing and enabling the agora plugin is also what activates the session-start update available banner — see The update banner below.

Note: There is no screenshot for this install step — follow the on-screen tabs and prompts in the plugin manager.

Path B — Local bootstrap (local directory pointer)

Path B is for power users and contributors who want to register a checkout of agora as a local-directory marketplace pointer rather than a remote marketplace. Unlike Path A (which adds agora as a remote marketplace), the bootstrap points the marketplace at your local clone and compiles the artifact from your working tree.

Prerequisites: setup.py only writes a local marketplace pointer and compiles marketplace.json — it makes no GitHub API calls, so it needs just:

  • git on PATH
  • Python 3.11+ with pip install -r requirements.txt applied

gh is not needed for the bootstrap (it makes no API calls). Missing git/Python fail loudly with a remediation hint. You'd only want a GitHub token later if you run agora:run ops that hit the API (update/check/register), and even then it's optional for public repos.

1. Clone the repo

git clone https://github.com/nitekeeper/agora.git

2. Run the bootstrap

From the agora repo root:

python3 scripts/setup.py

setup.py does exactly two things:

  • Registers the marketplace in ~/.claude/settings.json (writes an extraKnownMarketplaces.agora entry pointing at your local agora checkout). A timestamped backup is created before any overwrite.
  • Compiles plugins.json into .claude-plugin/marketplace.json so the artifact is fresh.

It does not install the update banner. The session-start "update available" banner is provided by the agora plugin's SessionStart hook (hooks/session_start.py), and it only runs once you install and enable the agora plugin in Claude Code — it is not a side effect of this bootstrap script. See The update banner.

setup.py is interactive by default (prompts Apply changes? [y/N]:). To skip the prompt:

python3 scripts/setup.py --yes

The script is idempotent — re-running it when agora is already registered prints No changes needed to ~/.claude/settings.json (agora already registered). and still runs a fresh compile.

3. Apply the registration

When the script finishes it prints next steps:

  1. Restart Claude Code (or run /reload-plugins).
  2. Open the plugin manager (/plugin) > Marketplaces > agora to browse plugins.
  3. Install plugins from the UI.

Note: The script's own output prints /plugins (plural) in step 2, but the actual command that opens the plugin manager is /plugin (singular) — the same command used in Path A and Verify.

The update banner

The session-start update available banner is not installed by scripts/setup.py. It is part of the agora plugin itself: the plugin ships a SessionStart hook (hooks/session_start.py) that, on each session start, refreshes the local check cache and prints any plugins whose indexed version is behind the latest release.

To get the banner:

  1. Add the agora marketplace (Path A or Path B).
  2. Install and enable the agora plugin from the marketplace (Path A step 4).

Once the agora plugin is enabled, the banner appears automatically at the start of each session when updates are pending. You can refresh the cache on demand and apply upgrades by invoking agora:run and asking it to check for updates or to update a plugin.

Verify

Confirm agora is registered:

  • Run /plugin, open the Marketplaces tab, and check that agora appears in the list.
  • After installing a plugin, switch to the Installed tab to confirm it's present.
  • If you installed the agora plugin, verify the agora:run skill is available (invoke it and describe an intent, e.g. "list registered plugins").

The agora marketplace indexes the maintainer's curated set of plugins (including agora itself). Browse the current list in the plugin manager's Plugins / Discover tabs.

Troubleshooting

Marketplace doesn't appear after adding it. Restart Claude Code or run /reload-plugins, then re-open /plugin and check the Marketplaces tab again. If you used Path B, this restart (or /reload-plugins) is what makes the new registration take effect.

Path B fails on a missing dependency. The bootstrap needs git and Python 3.11+ with requirements.txt installed — it makes no GitHub API calls and does not need gh. It fails loudly with a remediation hint; resolve the named dependency, then re-run python3 scripts/setup.py.

setup.py refuses to run with a JSON error. If ~/.claude/settings.json exists but isn't valid JSON, setup.py stops with ~/.claude/settings.json is not valid JSON — fix manually before running setup. Fix the file's JSON, then re-run. (A missing or empty settings file is fine — it's treated as {}.)

The update banner never shows. The banner comes from the agora plugin's SessionStart hook, not from the bootstrap. Make sure you have installed and enabled the agora plugin (Path A step 4), then restart Claude Code. The banner only appears when there are pending updates; invoke agora:run and ask it to refresh the update check.

Clone this wiki locally