Skip to main content
On this page

Kater CLI Find and understand

kater invoke

Calls one Kater action by its name, such as workspace.browse, with a request that you write in JSON.

Kater’s own commands call the same actions, which Kater calls named operations. Use it when no other command sends the request you need.

Examples

Terminal window
# List your workspaces in snowflake_prod_connection, with the request in request.json
kater invoke workspace.browse --request-file request.json
# Send a request from stdin
echo '{"connection": "snowflake_prod_connection", "show": "mine"}' | kater invoke workspace.browse --request-file -
# List the apps you can change in snowflake_prod_connection
echo '{"connection": "snowflake_prod_connection", "editable": true}' | kater invoke app.browse --request-file -
# Make a chart from the request in chart.json

Arguments

ArgumentDescription
<operation>The operation’s name, such as workspace.browse or compile.preview.

Options

OptionDescription
--request-file <file>Required. The request as JSON, from a file. - reads it from stdin. Kater refuses a request that does not match the operation’s types.

It also takes the global options --json, --kater-root, --scope and --help.

workspace.browse

Lists your workspaces in one connection, a page at a time, as every list of workspaces in Kater does. Pinned workspaces come first, the newest pin on top. Then come the most recent ones, by when you last opened them, or else by when they last changed. A workspace copy in a brainstorm folder is never listed.

request.json
{"connection": "snowflake_prod_connection", "show": "mine", "writable": true}
KeyWhat it doesExample
connectionThe connection to list. Required."snowflake_prod_connection"
showall, mine or shared. shared is the connection’s own workspaces, and what someone shared with you from their folder. The default is all."mine"
qWords to find in everything about each workspace, such as its names, queries and dashboard. Every word must match."spend"
writabletrue lists only the workspaces that you can change.true
sourceLists only the workspaces over one shared model, by the model’s name."ad_reporting"
limitHow many workspaces one page holds, from 1 to 50. The default is 10.20
cursorThe nextCursor of the page before, for the next page."10"

The answer holds the page’s items and its nextCursor, which is null on the last page.

app.browse

Lists your apps in one connection, a page at a time, the same way. It takes connection, show, q, limit and cursor. Add "editable": true to list only the apps that you can change. A search reaches each app’s names, owner, description and the workspace it is in.

Kater’s own operations

On the Kater MCP, an agent’s kater invoke takes only the operations of the published Kater API. It refuses any other operation, and names the command that does the same work, such as kater chart create --request-file - for chart.create. Your own terminal and the Files terminal take every operation.

Results that take time

For result.resolve and result.refresh, kater invoke waits until the run ends, and then prints its result.

See also