CLI

confiqure tools

List or remove the tools registered in your workspace. Since CLI 1.0, tools are declared in code as tool classes (@Confiqure.Tool on a class) and registered by confiqure push.


Subcommands

CommandPurpose
tools listShow every tool registered in this workspace.
tools delete <name>Remove a tool by name (removing an already-absent name is treated as success).
tools set <name>Retired in CLI 1.0. It prints the message below and exits with an error.
Terminal
$ confiqure tools set list-projects
Since CLI 1.0 tools are declared in code as @Confiqure.Tool classes and registered on push; this command is retired.

Declaring a tool instead

Write a tool class — its Javadoc is the flow the chat follows, each public method a typed operation — and push. The class is not attached to any object: the chat brings it into the conversation when an ask needs it.

ProjectsTool.java
/** FLOW: the user's projects — list them before asking which one they mean. */
@Confiqure.Tool(name = "ProjectsTool")
@RestController
@RequestMapping("/confiqure/projects")
public class ProjectsTool {
    @PostMapping("/list")
    public List<Project> list(@RequestBody ProjectQuery q) { /* ... */ }
}

confiqure push registers every operation of the class. What an operation receives (the body, the headers, how the reply is checked) is on the Tool Classes page.

Tool dispatches carry the same optional X-Confiqure-Signature as lifecycle callbacks — enable callback signing on the workspace and verify it exactly the same way. See Callbacks → verifying signatures.

Last updated September 2026 · CLI 1.0