+ Accounts are used to fetch private marketplaces. Tokens are kept in your OS keychain and never enter + containers. +
+ +No accounts yet. Public repositories need none.
} +{a.label}
++ {METHOD_LABEL[a.method]} · {a.host} + {a.username ? ` · ${a.username}` : ""} +
+ {inUse &&Used by {users.join(", ")}
} +
+ gh is installed on this computer. Triple-C asks it for a token each time it fetches, so signing out of gh
+ also signs this account out. If gh is not logged in yet, run gh auth login first.
+
+ gh is not installed on this computer. Start a project so gh can run in its container, or use an access token. +
+ ) : ( +{error}
} ++ {error} +
+ )} +Select an item to see what it contains and install it.
+ )} ++ {installCountFor(removing.id)} install{installCountFor(removing.id) === 1 ? "" : "s"} stay listed as + “Source removed” and are removed from containers at their next sync. Use “Forget” on the Installed tab + instead if you want to drop them immediately. +
+Enter this code on the GitHub device page:
+{code}
+ {openable ? ( + + ) : ( + url &&The sign-in URL did not point at {host}; not opening it.
+ )} +{error}
} + {output && ( +
+ {output}
+
+ )}
+ This hook declares no commands.
+ ) : ( +
+ {c}
+
+ No projects yet — “All projects” also covers projects added later.
+ )} + {pendingHook && ( ++ Installs are pinned to a commit. Containers pick up changes on their next start, or now for running ones. + Changes apply to new Claude sessions. +
+ ++ Some installs come from marketplaces that were removed. They are removed from containers at their next + sync. +
+ +Nothing installed for all projects.
+ ) : ( ++ No project-only installs + {p.marketplace_disabled.length > 0 ? ` · opted out of ${p.marketplace_disabled.length} global item(s)` : ""}. +
+ ) : ( +
+ {KIND_LABELS[item.kind].replace(/s$/, "")} · {item.path}
+
{item.description}
} +{item.invalid}
+Commands this hook runs
+{c}
+
+ {item.preview}
+
+ )}
+ Install
++ Running containers pick changes up on their next start or with “Apply now” on the Installed tab. Changes + apply to new Claude sessions. +
+{error}
} + {!error && diffs === null &&Loading changes…
} + {hookCommands && ( +Commands after this update
+ {hookCommands.length === 0 ? ( +This hook declares no commands.
+ ) : ( +
+ {c}
+
+ No file changes (only the catalog entry changed).
+ )} + {diffs && diffs.length > 0 && ( ++ {d.path} ({CHANGE_LABEL[d.change]}) +
+ {d.unified === null ? ( +Binary file — no text diff
+ ) : ( +
+ {d.unified}
+
+ )}
+ From “All projects”
+This project only
+Nothing installed from a marketplace.
+ )} + + {report && ( ++ Last sync {report.finished_at ? new Date(report.finished_at).toLocaleString() : ""} +
++ {report.installed.length} installed · {report.updated.length} updated · {report.removed.length} removed +
+ {report.skipped.map((s) => ( ++ Skipped {s.item}: {s.reason} +
+ ))} + {report.errors.map((e) => ( ++ {e} +
+ ))} ++ {plural(marketplaces, "marketplace", "marketplaces")} ·{" "} + {globalInstalls} installed for all projects + {updateCount !== null && updateCount > 0 && ( + <> · {plural(updateCount, "update available", "updates available")}> + )} +
++ Agents, skills, commands, hooks and plugins from git repositories, installed for all + projects or per project. Changes apply to new Claude sessions. +
+ +