npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@entrydesk/cli

v2.0.0

Published

EntryDesk CLI - Interact with EntryDesk from your terminal

Readme

EntryDesk CLI

Command-line client for EntryDesk. Includes interactive task, tool output rendering, and scripting-friendly JSON output.

Installation

npm install -g @entrydesk/cli

To update an existing installation to the latest published version:

entrydesk update            # check + install
entrydesk update --check    # only check, don't install
entrydesk update --json     # machine-readable result

Quick Start

Build and run from the repo:

pnpm --filter @entrydesk/cli build
pnpm --filter @entrydesk/cli start -- task -i

Interactive task is also the default when no command is provided:

entrydesk

Authentication

entrydesk login    # OAuth device flow — prints a verification URL + code to enter
entrydesk status
entrydesk logout

Credential Storage

By default, EntryDesk CLI stores credentials in the OS keychain when available. If the keychain is unavailable, it falls back to an encrypted file at ~/.entrydesk/profiles/<profile>/credentials.json.

To force file storage (for example, in CI), set ENTRYDESK_FORCE_FILE_STORAGE=true.

Task

entrydesk task -m "Hello" --model <model>
entrydesk task -a <agent>
entrydesk task -c 1 -m "Follow up"
entrydesk task -i
entrydesk task -i --full-output            # Show full tool outputs
entrydesk task -i --no-file-system         # Disable local file operations
entrydesk task -i --connectors id1,id2     # Use specific connectors

Piping input and output:

echo "Hello" | entrydesk task --model <model>
entrydesk task -m "Hi" --model <model> --plain
entrydesk task -m "Hi" --model <model> --output stream-json

Browse Resources

entrydesk workspaces
entrydesk workspaces switch <workspaceId>  # Switch to a workspace
entrydesk models
entrydesk agents
entrydesk connectors
entrydesk skills
entrydesk tasks
entrydesk tasks 1

Tools

entrydesk tool list                     # List all available tools
entrydesk tool list --prefix agent      # Filter by tool prefix
entrydesk tool get agent__search_agents # Show a tool's details
entrydesk tool call agent__search_agents --input '{"limit": 5}'
entrydesk tool call agent__search_agents --input-file input.json
echo '{"limit": 5}' | entrydesk tool call agent__search_agents

MCP Server

entrydesk mcp-server                       # Stdio mode (for MCP clients)
entrydesk mcp-server --http --port 3100    # HTTP mode (for debugging)

Skills Management

entrydesk skills                    # List all available skills
entrydesk skills --me               # List only skills created by you
entrydesk skills upload my-skill.zip # Upload a skill zip file
entrydesk skills upload ./my-skill  # Upload a skill folder (auto-zipped)
entrydesk skills delete skill-123   # Delete a skill you own
entrydesk skills --json             # Output in JSON format

Budget Management

entrydesk budget                    # Show current workspace budget
entrydesk budget get                # Get workspace budget
entrydesk budget set 100.00         # Set workspace budget to $100
entrydesk budget clear              # Remove workspace budget
entrydesk budget --json             # Output in JSON format

Usage Statistics

entrydesk usage                     # Show usage by all users, sorted by cost
entrydesk usage --limit 10          # Show top 10 users
entrydesk usage --sort-by operations # Sort by operation count
entrydesk usage --json              # Output in JSON format

Agents Management

entrydesk agents                    # List available agents
entrydesk agents --json             # Output in JSON format
entrydesk agents create --name "My Agent" --description "..." --system-prompt "..." --model-id <modelId>
entrydesk agents update <agentId> --name "New Name" --description "..." --system-prompt "..." --model-id <modelId>
entrydesk agents delete <agentId>

Meetings and Recordings

entrydesk meeting                          # List meetings
entrydesk meeting get <meetingId>          # Details and its recordings
entrydesk meeting summary <meetingId>      # Print the summary as markdown
entrydesk meeting transcript <recordingId> # Print a transcript (--raw for timestamps)
entrydesk meeting share <meetingId> --add-user <userId> --role viewer

entrydesk recordings                       # List recordings
entrydesk recordings import https://example.com/audio.mp3 --title "Standup"
entrydesk recordings audio-url <recordingId> # Signed URL to stream the audio
entrydesk recordings retry <recordingId>   # Retry a failed recording

Workflows

entrydesk workflow                         # List workflows
entrydesk workflow create --name "Nightly report" --file ./report.js
entrydesk workflow run <workflowId> --args '{"date":"2026-06-20"}' --wait
entrydesk workflow runs <workflowId>
entrydesk workflow run-get <workflowId> <runId>

Schedules

entrydesk schedules                        # List schedules
entrydesk schedules create --name "Daily digest" --prompt "Summarize yesterday" \
  --agent-id <agentId> --starts-at 2026-07-01T09:00:00Z \
  --repeat-type days --every 1 --time 09:00
entrydesk schedules run <scheduleId>       # Run now; prints the created taskId
entrydesk schedules pause <scheduleId>
entrydesk schedules runs <scheduleId>      # Run history

Notifications

entrydesk notifications                    # List notifications
entrydesk notifications --tab action       # Only items that need action
entrydesk notifications unread             # Unread count
entrydesk notifications read <notificationId>
entrydesk notifications read-all

Marketplace

entrydesk marketplace search               # Browse agents and skills
entrydesk marketplace search --type agent
entrydesk marketplace show <slug>
entrydesk marketplace install <slug> --type agent
entrydesk marketplace roles                # Role tags you can filter by

search and show are public; install requires login and CreateAgent/CreateSkill permission in the current workspace.

Billing

entrydesk billing                          # Plan, seats, and extra-usage balance
entrydesk billing invoices --limit 10

Billing endpoints require an interactive login — a workspace PAT (ENTRYDESK_TOKEN) cannot read them.

Configuration

entrydesk config
entrydesk config set apiUrl http://localhost:3200
entrydesk config set hubUrl http://localhost:3000
entrydesk config unset apiUrl

Running Against a Local API

Point the CLI at a locally running API for one command, or persist it in the active profile:

ENTRYDESK_API_URL=http://localhost:3200 entrydesk status  # one invocation
entrydesk config set apiUrl http://localhost:3200         # persist
entrydesk config set hubUrl http://localhost:3000         # login opens this Hub
entrydesk login

Keep local work in its own profile so it cannot overwrite the credentials you use against production:

entrydesk profile create local
entrydesk profile use local

If the local API serves a self-signed certificate, add ENTRYDESK_IGNORE_SSL_ERRORS=true. It turns off TLS verification for the whole process, so use it only against a local endpoint.

Tool Call Timeouts

Tool calls (entrydesk tool call, and every call proxied by entrydesk mcp-server) wait up to 5 minutes for a response, and a server that reports progress keeps resetting that window up to an absolute cap of 30 minutes. Raise either limit in milliseconds:

ENTRYDESK_MCP_TIMEOUT=900000 entrydesk tool call slow__tool -i '{}'
ENTRYDESK_MCP_MAX_TIMEOUT=3600000 entrydesk tool call slow__tool -i '{}'

For entrydesk mcp-server, set them in the env block of the MCP server entry so the proxy never times out before the client that launched it does.

These are client-side limits. A tool served by a workspace connector is also capped at 5 minutes by the API, so raising ENTRYDESK_MCP_TIMEOUT beyond that only extends how long the CLI waits on EntryDesk's own long-running tools.

Environment Variables

Environment variables take precedence over stored profile config, so a value set for a single invocation always wins.

| Variable | Purpose | Expected value | | -------------------------------- | ----------------------------------------------------------- | ------------------- | | ENTRYDESK_API_URL | Override the API base URL | URL | | ENTRYDESK_HUB_URL | Override the Hub URL used for login and share links | URL | | ENTRYDESK_TOKEN | Personal access token for non-interactive auth | token | | ENTRYDESK_WORKSPACE_ID | Workspace the PAT acts in (required with ENTRYDESK_TOKEN) | workspace id | | ENTRYDESK_FORCE_FILE_STORAGE | Skip the OS keychain, store credentials in a file | true | | ENTRYDESK_IGNORE_SSL_ERRORS | Disable TLS verification (local development only) | true | | ENTRYDESK_MCP_TIMEOUT | Per-tool-call timeout (see Tool Call Timeouts above) | milliseconds | | ENTRYDESK_MCP_MAX_TIMEOUT | Absolute cap for progress-extended tool calls | milliseconds | | ENTRYDESK_SANDBOX | Enable sandbox authentication | true | | ENTRYDESK_SANDBOX_ACCESS_TOKEN | Sandbox credential (required when sandbox is enabled) | token | | ENTRYDESK_SANDBOX_WORKSPACE_ID | Sandbox workspace (required when sandbox is enabled) | workspace id | | ENTRYDESK_DEBUG | Log credential-storage/keychain decisions | true | | DEBUG | Verbose request, stream, and stack-trace output | any non-empty value | | NO_COLOR | Disable colored tool output | any non-empty value |

Non-Interactive Authentication

For CI and automation, authenticate with a personal access token instead of entrydesk login. Both variables are required — setting only the token fails with an explicit error:

export ENTRYDESK_TOKEN=<personal-access-token>
export ENTRYDESK_WORKSPACE_ID=<workspace-id>
entrydesk tasks --json

Note that billing endpoints are not readable with a PAT; they require an interactive login.

Profiles

entrydesk profile                      # List profiles
entrydesk profile create staging       # Create a profile
entrydesk profile use staging          # Switch active profile
entrydesk profile show staging         # Show profile details
entrydesk profile clone default staging # Clone config defaults (no credentials)
entrydesk profile rename staging qa    # Rename a profile (credentials follow)
entrydesk profile delete staging

# Run a single command against a specific profile without switching
entrydesk status --profile staging
entrydesk task -i --profile staging

Development

pnpm --filter @entrydesk/cli dev
pnpm --filter @entrydesk/cli lint
pnpm --filter @entrydesk/cli typecheck