{% extends "curb_base.html" %} {# This machine › Agents: installed agents, and what each loads at start. #} {% block part %} {% if machine_held.value is none %} {% if machine_held.error %}{{ k.failed(machine_held.error) }}{% else %}{{ k.checking("Reading what your agents load…") }}{% endif %} {% else %}
{% call k.head("The agents installed here, and what each one loads when it starts.", "Read from each agent's settings files. Curb runs nothing.", machine_held) %} {{ k.again() }} {% endcall %} {# What happened, why, and what to do about it, where it happened. #} {% for problem in view.problems %}

{{ problem.title }} {{ problem.body }}

{% if problem.command %}{{ k.cmd(problem.command) }}{% endif %}
{% endfor %} {% if view.installed %}
Installed {{ view.installed | length }}
AgentSettings come fromActivity logSigns its commits
{% for agent in view.installed %}
{{ agent.label }}{{ agent.version }} {{ agent.owners }} Activity log: {%- if agent.logging %}{{ k.st("on", "On") }}{% else %}Off · Turn on{% endif %} Signs commits: {%- if agent.signs %}{{ k.st("on", "Yes") }}{% else %}No · Set up{% endif %}
{% endfor %}
{% else %} {% call empty.state("search", "No agent found") %}

Curb checks Claude Code and Codex. Neither is set up on this machine yet.

{% endcall %} {% endif %} {% if view.loaded %}
Loaded at start {{ k.tally() }} {% call k.tools("Search what agents load") %} {% endcall %}
NameKindAgentSet byWorth knowing
{% for row in table.rows %}
{{ row.name }} {{ row.kind_label }} {{ row.agent }} {{ row.by }} {% if row.level %}{{ k.risk(row.level, row.tone) }} {% endif %}{{ row.note }}
{% endfor %} {{ k.foot() }}
{% endif %}
Your other skills are on the Skills page. Curb lists only its own guide for agents.
{% call k.explain("How to read this", "Who set each thing decides who can change it.") %}
Set by you
It is in your own settings file. Only you can change it.
Set by a project
It is in a file in that repository. Anyone who can change the repository can change it.
Scheduled job
It starts an agent with nobody watching, so Curb rates it on its own.
Tested version
Curb knows this version's settings. With another version, every result is a best guess.

The same list, in a terminal:

{{ k.cmd("flanner curb inventory") }} {% endcall %}
{% endif %} {% endblock %}