Sasha MCP reference

listMyClaudeDesktopJobs

List my Claude Desktop jobs

List the Claude Desktop jobs the person approved in Sasha that are not finished: ready, claimed or needs_you, newest first, at most 20. Each has an id, title, the apps to sign in to, status and when it was made. Call getClaudeDesktopJob with an id to read the job.

Arguments

No arguments.

Scopes

jobs:run

Annotations

  • Read only: yes
  • Destructive: no

When to use

Call it first when the person says "do my Sasha job". It takes no arguments. It lists only the person's own jobs that are ready, claimed or needs_you, newest first, at most 20. truncated is true when there are more.

Each job has id (for example J-0001), title, apps (the web apps to be signed in to), status and createdAt (UTC). If there are several jobs, show them and ask which one to do. Then call getClaudeDesktopJob.

The tool needs jobs:run. Admin and staff hold it in their default grant; members cannot hold it. A connection approved before the scope existed must reconnect to get it.

Example

{}

The structured result:

{
  "jobs": [
    { "id": "J-0001", "title": "Welcome email for new enquiries", "apps": ["mailing tool"], "status": "ready", "createdAt": "2026-11-04T10:00:00.000Z" }
  ],
  "truncated": false
}

With no jobs, jobs is empty and the text says that the person prepares a job in their Sasha chat.

Refusals and what to do

  • If the connection does not hold jobs:run, the tool is not in your tool list, and a call to it returns MCP error -32602: Tool listMyClaudeDesktopJobs not found. The person reconnects Claude to their Sasha. Read the permissions section of getDocs.
  • internal:unexpected (request <id>): something failed inside Sasha. Quote the request id in suggestImprovement.

Related

  • getClaudeDesktopJob reads one job and starts it.
  • reportClaudeDesktopJob sends the report back.
  • getDocs has a claude-desktop-jobs section with the same rules.
Built with BernardCookie settings