Showcase


Verified integrations
Connections to other tracked products — hover a chip for the verbatim evidence quote behind it.
By theme — the product's score on each story themeBy theme
Agenticness — how well agents can access and operate the productAgenticnessevidence →
How well agents can access and operate the product
Automation depth — how much of the product can run unattendedAutomation depthevidence →
How much of the product can run unattended
Git code — core git and code operations — cloning, branching, pushing, code browsingGit codeevidence →
Core git and code operations — cloning, branching, pushing, code browsing
Networking access — stories about networking access in this arenaNetworking accessevidence →
Stories about networking access in this arena
Offline sync — stories about offline sync in this arenaOffline syncevidence →
Stories about offline sync in this arena
Openness — open source, data portability, and self-hosting storiesOpennessevidence →
Open source, data portability, and self-hosting stories
Privacy posture — data-handling and privacy storiesPrivacy postureevidence →
Data-handling and privacy stories
Running agents — operating agents in production — sessions, persistence, recoveryRunning agentsevidence →
Operating agents in production — sessions, persistence, recovery
n/a
Security — security posture and hardening storiesSecurityevidence →
Security posture and hardening stories
Terminal ssh — terminal and SSH workflows — shells, sessions, remote accessTerminal sshevidence →
Terminal and SSH workflows — shells, sessions, remote access
Ux ergonomics — stories about ux ergonomics in this arenaUx ergonomicsevidence →
Stories about ux ergonomics in this arena
Story verdicts — every judged story with its evidenceStory verdicts
Follow the green: where the map greys out is where Blink Shell stops today. ✓ full · ~ partial · ! disputed · — none · n/a not applicable.
Agenticness — how well agents can access and operate the productAgenticness
How well agents can access and operate the product
API surface
Drive the product through a documented public API
—0/10
Subscribe to events via webhooks
n/an/a
Build against official SDKs
n/an/a
Issue scoped/least-privilege API credentials for an agent
n/an/a
Connect an agent via an official MCP server
n/an/a
Download a machine-readable API spec (OpenAPI or equivalent)
—0/10
Rely on versioned APIs with a documented deprecation policy
n/an/a
Test against a sandbox environment without touching production data
n/an/a
Explore an interactive API reference with runnable examples
n/an/a
Docs for agents
Point an agent at llms.txt or agent-oriented docs
—0/10
Agentic features
Delegate tasks to a built-in AI assistant inside the product
n/an/a
Operate the product with natural-language commands
n/an/a
Plug MCP servers into this product so it can use their tools
n/an/a
Get AI-generated insights and suggestions from my data inside the product
n/an/a
Set up automations that run autonomously in the background
n/an/a
Automation depth — how much of the product can run unattendedAutomation depth
How much of the product can run unattended
Git code — core git and code operations — cloning, branching, pushing, code browsingGit code
Core git and code operations — cloning, branching, pushing, code browsing
Networking access — stories about networking access in this arenaNetworking access
Stories about networking access in this arena
Mesh network
Offline sync — stories about offline sync in this arenaOffline sync
Stories about offline sync in this arena
Openness — open source, data portability, and self-hosting storiesOpenness
Open source, data portability, and self-hosting stories
Privacy posture — data-handling and privacy storiesPrivacy posture
Data-handling and privacy stories
Running agents — operating agents in production — sessions, persistence, recoveryRunning agents
Operating agents in production — sessions, persistence, recovery
Security — security posture and hardening storiesSecurity
Security posture and hardening stories
Terminal ssh — terminal and SSH workflows — shells, sessions, remote accessTerminal ssh
Terminal and SSH workflows — shells, sessions, remote access
Local dev environment
Ux ergonomics — stories about ux ergonomics in this arenaUx ergonomics
Stories about ux ergonomics in this arena
Sorted by importance (agentic first) (high → low) · 69/69 stories · click a row’s chevron for the rationale and evidence
Drive the product through a documented public API G Agent access | ai-native user | Agenticness — how well agents can access and operate the productAgenticness | 3 | none | 0/10 | ||
Connect an agent via an official MCP server G Agent access | ai-native user | Agenticness — how well agents can access and operate the productAgenticness | 3 | n/a | untested | none yet | |
Delegate tasks to a built-in AI assistant inside the product G Agentic features | ai-native user | Agenticness — how well agents can access and operate the productAgenticness | 3 | n/a | untested | none yet | |
Plug MCP servers into this product so it can use their tools G Agent access | ai-native user | Agenticness — how well agents can access and operate the productAgenticness | 3 | n/a | untested | none yet | |
Download a machine-readable API spec (OpenAPI or equivalent) G Api quality | ai-native user | Agenticness — how well agents can access and operate the productAgenticness | 2 | none | 0/10 | ||
Point an agent at llms.txt or agent-oriented docs G Agent access | ai-native user | Agenticness — how well agents can access and operate the productAgenticness | 2 | none | 0/10 | ||
Build against official SDKs G Agent access | ai-native user | Agenticness — how well agents can access and operate the productAgenticness | 2 | n/a | untested | none yet | |
Explore an interactive API reference with runnable examples G Api quality | ai-native user | Agenticness — how well agents can access and operate the productAgenticness | 2 | n/a | untested | none yet | |
Get AI-generated insights and suggestions from my data inside the product G Agentic features | ai-native user | Agenticness — how well agents can access and operate the productAgenticness | 2 | n/a | untested | none yet | |
Issue scoped/least-privilege API credentials for an agent G Agent access | ai-native user | Agenticness — how well agents can access and operate the productAgenticness | 2 | n/a | untested | none yet | |
Operate the product with natural-language commands G Agentic features | ai-native user | Agenticness — how well agents can access and operate the productAgenticness | 2 | n/a | untested | none yet | |
Rely on versioned APIs with a documented deprecation policy G Api quality | ai-native user | Agenticness — how well agents can access and operate the productAgenticness | 2 | n/a | untested | none yet | |
Run the product headlessly / in CI for automation G Agent access | ai-native user | Agenticness — how well agents can access and operate the productAgenticness | 2 | n/a | untested | none yet | |
Set up automations that run autonomously in the background G Agentic features | ai-native user | Agenticness — how well agents can access and operate the productAgenticness | 2 | n/a | untested | none yet | |
Subscribe to events via webhooks G Agent access | ai-native user | Agenticness — how well agents can access and operate the productAgenticness | 2 | n/a | untested | none yet | |
Use an official CLI G Agent access | ai-native user | Agenticness — how well agents can access and operate the productAgenticness | 2 | n/a | untested | none yet | |
Test against a sandbox environment without touching production data G Api quality | ai-native user | Agenticness — how well agents can access and operate the productAgenticness | 1 | n/a | untested | none yet | |
Connect to remote servers using SSH with Ed25519, ECDSA, or RSA keys C Ssh connections | developer | Terminal ssh — terminal and SSH workflows — shells, sessions, remote accessTerminal ssh | 3 | full | 9/10 | Xcommunity | |
Keep my terminal session alive across network changes and device sleep C Ssh connections | power-user | Terminal ssh — terminal and SSH workflows — shells, sessions, remote accessTerminal ssh | 3 | full | 9/10 | Xcommunity | |
Open multiple terminal sessions, each with its own context, appearance, and history C Ssh connections | power-user | Terminal ssh — terminal and SSH workflows — shells, sessions, remote accessTerminal ssh | 3 | partial | 6/10 | Cclaimed | |
Run local UNIX commands like ls, grep, cat, tar, and curl directly in the app C Ssh connections | developer | Terminal ssh — terminal and SSH workflows — shells, sessions, remote accessTerminal ssh | 3 | partial | 6/10 | Cclaimed | |
Commit and push changes directly from my device C Repo management | developer | Git code — core git and code operations — cloning, branching, pushing, code browsingGit code | 3 | partial | 5/10 | Cclaimed | |
Review pull requests from my phone while on the go C Repo management | developer | Git code — core git and code operations — cloning, branching, pushing, code browsingGit code | 3 | partial | 4/10 | Cclaimed | |
Clone Git repositories over HTTPS, SSH, or the Git protocol C Repo management | developer | Git code — core git and code operations — cloning, branching, pushing, code browsingGit code | 3 | none | 0/10 | ||
Assign an issue to an AI coding agent and receive a ready-to-review pull request C Ai coding agents | ai-native user | Running agents — operating agents in production — sessions, persistence, recoveryRunning agents | 3 | n/a | untested | none yet | |
Create pull requests on hosted Git platforms directly from my device C Repo management | developer | Git code — core git and code operations — cloning, branching, pushing, code browsingGit code | 3 | n/a | untested | none yet | |
Define rules that trigger actions automatically on events G | ai-native user | Automation depth — how much of the product can run unattendedAutomation depth | 3 | none | untested | none yet | |
Direct an AI agent to browse, search, edit, commit, pull, and push in a repository via conversation C Ai coding agents | ai-native user | Running agents — operating agents in production — sessions, persistence, recoveryRunning agents | 3 | n/a | untested | none yet | |
Export all of my data in open formats and leave G | ai-native user | Openness — open source, data portability, and self-hosting storiesOpenness | 3 | n/a | untested | none yet | |
Get secure infrastructure access to resources wherever they live, including Kubernetes clusters C Mesh network | developer | Networking access — stories about networking access in this arenaNetworking access | 3 | none | untested | none yet | |
Have an AI agent analyze my pull requests and suggest code improvements from my phone C Ai coding agents | ai-native user | Running agents — operating agents in production — sessions, persistence, recoveryRunning agents | 3 | n/a | untested | none yet | |
Prevent my data from being used to train AI models G | ai-native user | Privacy posture — data-handling and privacy storiesPrivacy posture | 3 | n/a | untested | none yet | |
Self-host the core product G | ai-native user | Openness — open source, data portability, and self-hosting storiesOpenness | 3 | n/a | untested | none yet | |
Generate SSH key pairs for password-less access to my servers C Ssh connections | power-user | Terminal ssh — terminal and SSH workflows — shells, sessions, remote accessTerminal ssh | 2 | full | 9/10 | Xcommunity | |
Connect directly to my servers without relying on a cloud relay, proxy, or VPN C Mesh network | power-user | Networking access — stories about networking access in this arenaNetworking access | 2 | full | 8/10 | Xcommunity | |
Transfer files to and from remote hosts via scp and sftp using my configured keys C Ssh connections | developer | Terminal ssh — terminal and SSH workflows — shells, sessions, remote accessTerminal ssh | 2 | full | 8/10 | Cclaimed | |
Connect to a saved host with one tap without re-entering credentials C Ssh connections | power-user | Terminal ssh — terminal and SSH workflows — shells, sessions, remote accessTerminal ssh | 2 | full | 7/10 | Cclaimed | |
Customize the font, colors, and cursor appearance of my terminal and persist the settings C Terminal customization | power-user | Ux ergonomics — stories about ux ergonomics in this arenaUx ergonomics | 2 | partial | 6/10 | Cclaimed | |
Read the product's source under an open license G | ai-native user | Openness — open source, data portability, and self-hosting storiesOpenness | 2 | partial | 5/10 | Xcommunity | |
Store credentials once in a secure vault and reference them from multiple hosts C Credential protection | developer | Security — security posture and hardening storiesSecurity | 2 | partial | 5/10 | Cclaimed | |
Access and work with files and repositories from other apps' sandboxes on my device C Cross device sync | developer | Offline sync — stories about offline sync in this arenaOffline sync | 2 | partial | 4/10 | Cclaimed | |
Edit files with a terminal-based editor and run syntax/lint checkers inside the app C Local dev environment | developer | Terminal ssh — terminal and SSH workflows — shells, sessions, remote accessTerminal ssh | 2 | none | 0/10 | ||
Install additional pure-Python packages using pip directly on my device C Local dev environment | developer | Terminal ssh — terminal and SSH workflows — shells, sessions, remote accessTerminal ssh | 2 | none | 0/10 | ||
Protect my remote connections with biometric authentication like Face ID or fingerprint C Credential protection | developer | Security — security posture and hardening storiesSecurity | 2 | none | 0/10 | ||
Store my SSH keys in a hardware-backed secure enclave protected by biometrics C Credential protection | power-user | Security — security posture and hardening storiesSecurity | 2 | none | 0/10 | ||
Sync my saved hosts and connection settings across all my devices C Cross device sync | power-user | Offline sync — stories about offline sync in this arenaOffline sync | 2 | none | 0/10 | ||
Amend the latest commit or undo unpushed commits to fix or split them C Repo management | power-user | Git code — core git and code operations — cloning, branching, pushing, code browsingGit code | 2 | n/a | untested | none yet | |
Choose where my data is stored (region/residency) G | ai-native user | Privacy posture — data-handling and privacy storiesPrivacy posture | 2 | n/a | untested | none yet | |
Control data retention and deletion G | ai-native user | Privacy posture — data-handling and privacy storiesPrivacy posture | 2 | n/a | untested | none yet | |
Converse with an AI agent in natural language to get insights into repositories and open pull requests C Ai coding agents | ai-native user | Running agents — operating agents in production — sessions, persistence, recoveryRunning agents | 2 | n/a | untested | none yet | |
Describe what I want in plain language and have the tool generate the corresponding shell command C Ai coding agents | ai-native user | Running agents — operating agents in production — sessions, persistence, recoveryRunning agents | 2 | n/a | untested | none yet | |
Do everything through the API that I can do in the UI G | ai-native user | Openness — open source, data portability, and self-hosting storiesOpenness | 2 | n/a | untested | none yet | |
Get AI-generated commit message suggestions based on my staged changes C Ai coding agents | ai-native user | Running agents — operating agents in production — sessions, persistence, recoveryRunning agents | 2 | n/a | untested | none yet | |
Group multiple terminal sessions together and broadcast the same command to all of them C Ssh connections | power-user | Terminal ssh — terminal and SSH workflows — shells, sessions, remote accessTerminal ssh | 2 | none | untested | none yet | |
Interactively rewrite history by deleting, editing, squashing, or reordering commits C Repo management | power-user | Git code — core git and code operations — cloning, branching, pushing, code browsingGit code | 2 | n/a | untested | none yet | |
Manage and track cloud-based coding agent tasks from my phone C Ai coding agents | developer | Running agents — operating agents in production — sessions, persistence, recoveryRunning agents | 2 | n/a | untested | none yet | |
Opt out of telemetry and usage tracking G | ai-native user | Privacy posture — data-handling and privacy storiesPrivacy posture | 2 | none | untested | none yet | |
Perform bulk operations across many items at once G | ai-native user | Automation depth — how much of the product can run unattendedAutomation depth | 2 | n/a | untested | none yet | |
Preview Markdown, HTML, and other rendered files with live reload C Repo management | developer | Git code — core git and code operations — cloning, branching, pushing, code browsingGit code | 2 | n/a | untested | none yet | |
Resolve merge conflicts across many files at once with a dedicated tool C Repo management | developer | Git code — core git and code operations — cloning, branching, pushing, code browsingGit code | 2 | n/a | untested | none yet | |
Route all my internet traffic through a specific device on my network using an exit node C Mesh network | power-user | Networking access — stories about networking access in this arenaNetworking access | 2 | n/a | untested | none yet | |
Schedule recurring jobs or workflows G | ai-native user | Automation depth — how much of the product can run unattendedAutomation depth | 2 | none | untested | none yet | |
Search and navigate code content using fuzzy matching, filters, and regular expressions C Repo management | developer | Git code — core git and code operations — cloning, branching, pushing, code browsingGit code | 2 | n/a | untested | none yet | |
Stash and unstash changes to temporarily clear my working directory C Repo management | power-user | Git code — core git and code operations — cloning, branching, pushing, code browsingGit code | 2 | n/a | untested | none yet | |
Use subnet routers to reach devices outside my local network as if I were on it C Mesh network | developer | Networking access — stories about networking access in this arenaNetworking access | 2 | n/a | untested | none yet | |
Visualize the full commit graph across branches C Repo management | power-user | Git code — core git and code operations — cloning, branching, pushing, code browsingGit code | 2 | n/a | untested | none yet | |
Clone, update, and manage Git submodules within a repository C Repo management | power-user | Git code — core git and code operations — cloning, branching, pushing, code browsingGit code | 1 | n/a | untested | none yet | |
Sign my commits with a GPG or SSH key for verification C Repo management | power-user | Git code — core git and code operations — cloning, branching, pushing, code browsingGit code | 1 | none | untested | none yet | |
Version, review, and roll back my automations G | ai-native user | Automation depth — how much of the product can run unattendedAutomation depth | 1 | n/a | untested | none yet |
Opportunities — the stories that would move this product's scores, from its own judged verdictsOpportunitiestop 8 of 23 stories with headroom
What would move Blink Shell’s scores — derived from its own judged verdicts, biggest headroom first. Each line quotes what the judge found missing; shipping it (or evidencing it publicly) is the fix.
Agenticness — how well agents can access and operate the productDrive the product through a documented public API
nonemoves agent-readyimpact 45
No public API or SDK is documented; probes for llms.txt and OpenAPI/Swagger specs all returned 404, and no evidence pack item describes a programmatic/API interface for driving Blink Shell.
Automation depth — how much of the product can run unattendedDefine rules that trigger actions automatically on events
nonemoves PA Scoreimpact 30
No evidence Blink Shell supports defining rules or triggers for automated actions on events; it is a terminal/SSH/Mosh client with no automation-rule engine documented.
Git code — core git and code operations — cloning, branching, pushing, code browsingClone Git repositories over HTTPS, SSH, or the Git protocol
nonemoves PA Scoreimpact 30
Blink Shell's documented built-in commands (cat, grep, wc, cd, ls, etc.) do not include git, and no evidence pack item shows native git clone support over HTTPS, SSH, or git protocol; it only documents scp/sftp for file transfer and ssh/mosh for remote sessions, implying git operations would need to happen on a remote server, not natively in Blink.
Networking access — stories about networking access in this arenaGet secure infrastructure access to resources wherever they live, including Kubernetes clusters
nonemoves PA Scoreimpact 30
Blink Shell provides SSH/Mosh terminal access to hosts, but there is no evidence of any Kubernetes-specific integration (kubectl exec, kubeconfig management, cluster access) or broader infrastructure-access features beyond generic SSH to named hosts.
Agenticness — how well agents can access and operate the productPoint an agent at llms.txt or agent-oriented docs
nonemoves agent-readyimpact 30
Probe confirms no llms.txt exists (404) and no agent-oriented API docs are found; Blink Shell is a terminal/SSH client with no evidence of agent-friendly documentation.
Agenticness — how well agents can access and operate the productDownload a machine-readable API spec (OpenAPI or equivalent)
nonemoves API qualityimpact 30
Blink Shell is a terminal/SSH client, not an API-providing service, but the axis was probed and no machine-readable API spec exists — probes show 404 for llms.txt and all OpenAPI/swagger candidate paths, and no docs mention any API spec.
Automation depth — how much of the product can run unattendedSchedule recurring jobs or workflows
nonemoves PA Scoreimpact 20
Blink Shell is a terminal/SSH/Mosh client; there is no evidence of any scheduling, cron-like, or recurring workflow/job automation capability in the docs or community discussion.
Security — security posture and hardening storiesProtect my remote connections with biometric authentication like Face ID or fingerprint
nonemoves PA Scoreimpact 20
No evidence anywhere in the pack mentions Face ID, Touch ID, biometric authentication, or fingerprint-based unlock/authentication for Blink Shell; the security features documented are SSH key types and password-less key auth only.
Showing the top 8 of 23 — every none/partial verdict in the story verdicts table is headroom.
Think a verdict is wrong? Every verdicts-table row has a Flag link — see the methodology.
Coverage map — which docs area, API section, or community source covers which judged storiesCoverage map4 surfaces · 14 covered stories
Where the cited evidence behind each covered verdict came from — the same citations the verdicts table shows, no extra judging.
blink.sh12 stories
- Commit and push changes directly from my device
- Review pull requests from my phone while on the go
- Connect directly to my servers without relying on a cloud relay, proxy, or VPN
- Access and work with files and repositories from other apps' sandboxes on my device
- Transfer files to and from remote hosts via scp and sftp using my configured keys
- Run local UNIX commands like ls, grep, cat, tar, and curl directly in the app
- Open multiple terminal sessions, each with its own context, appearance, and history
- Keep my terminal session alive across network changes and device sleep
- Connect to remote servers using SSH with Ed25519, ECDSA, or RSA keys
- Generate SSH key pairs for password-less access to my servers
- Connect to a saved host with one tap without re-entering credentials
- Customize the font, colors, and cursor appearance of my terminal and persist the settings
docs.blink.sh11 stories
- Commit and push changes directly from my device
- Review pull requests from my phone while on the go
- Connect directly to my servers without relying on a cloud relay, proxy, or VPN
- Access and work with files and repositories from other apps' sandboxes on my device
- Store credentials once in a secure vault and reference them from multiple hosts
- Transfer files to and from remote hosts via scp and sftp using my configured keys
- Open multiple terminal sessions, each with its own context, appearance, and history
- Keep my terminal session alive across network changes and device sleep
- Connect to remote servers using SSH with Ed25519, ECDSA, or RSA keys
- Generate SSH key pairs for password-less access to my servers
- Connect to a saved host with one tap without re-entering credentials
Hacker News5 stories
- Connect directly to my servers without relying on a cloud relay, proxy, or VPN
- Read the product's source under an open license
- Keep my terminal session alive across network changes and device sleep
- Connect to remote servers using SSH with Ed25519, ECDSA, or RSA keys
- Generate SSH key pairs for password-less access to my servers
GitHub README4 stories
Claims vs evidence — vendor claims reconciled against independent verdictsClaims vs evidence
3 of 9 testable claims verified · 0 contradicted → integrity 33/100
16 distinct capability claims found in Blink Shell’s own claimed-docs/GitHub materials, reconciled against our judge’s independent verdicts.
3
Verified
6
Unverified
0
Contradicted
5
Undersold
Verified (4)
“Supports SSH connections using Ed25519, ECDSA, and RSA keys via libssh/libssh2”
Connect to remote servers using SSH with Ed25519, ECDSA, or RSA keysfullproof ↗
“Uses Mosh so sessions survive roaming between networks (e.g. home, train, office)”
Keep my terminal session alive across network changes and device sleepfullproof ↗
“Connections stay intact even after putting the device to sleep and waking it later”
Keep my terminal session alive across network changes and device sleepfullproof ↗
“Can generate SSH key pairs for password-less access to servers”
Generate SSH key pairs for password-less access to my serversfullproof ↗
Unverified (7)
“Provides local UNIX commands like cat, grep, wc, cd, ls, cp, rm, mv, mkdir directly in-app”
Run local UNIX commands like ls, grep, cat, tar, and curl directly in the apppartialproof ↗
“Supports file transfer to/from remote hosts using scp and sftp”
Transfer files to and from remote hosts via scp and sftp using my configured keysfullproof ↗
“Lets users customize terminal themes and fonts, including a bundled Pragmata Pro font”
Customize the font, colors, and cursor appearance of my terminal and persist the settingspartialproof ↗
“Blink Files lets users work seamlessly on local or remote project files”
Access and work with files and repositories from other apps' sandboxes on my devicepartialproof ↗
“Create new terminal shells with a two-finger tap and switch between them by swiping”
Open multiple terminal sessions, each with its own context, appearance, and historypartialproof ↗
“Hosts feature lets users save servers and connect using only a hostname”
Connect to a saved host with one tap without re-entering credentialsfullproof ↗
“Supports drag-and-drop text selection between Blink and other apps”
Access and work with files and repositories from other apps' sandboxes on my devicepartialproof ↗
Undersold (5)
Commit and push changes directly from my devicepartialproof ↗
Review pull requests from my phone while on the gopartialproof ↗
Connect directly to my servers without relying on a cloud relay, proxy, or VPNfullproof ↗
Read the product's source under an open licensepartialproof ↗
Store credentials once in a secure vault and reference them from multiple hostspartialproof ↗
Claims outside our story set (5)
Real capability claims found in Blink Shell’s own materials, but no story in this arena’s taxonomy covers them yet — that’s feedback on the taxonomy, not a mark against the product.
“Supports Bluetooth keyboards with custom key remapping (e.g. Caps as Esc, Cmd as Ctrl)”
source ↗“Provides a coding experience connecting to VS Code for web, GitHub Codespaces, GitPod, or a custom VS Code server”
source ↗“Smart Keys provide on-screen modifier keys (CTRL, ALT, ESC) for terminal key combinations”
source ↗“Includes SplitView support for using another app alongside Blink”
source ↗“Can connect an iPad Pro to a 4K external display for a full-resolution terminal”
source ↗
Business model
Open-source (GPLv3) on GitHub, but the App Store app is freemium: free trial then a Blink+ subscription; a Build add-on uses monthly credits.
pricing ↗Score trend
How this product’s scores have moved as evidence and verdicts are re-derived — a point per change, not per day.
Flag
⚑ Flag a verdictThink a verdict is wrong? Opens a prefilled GitHub issue — or use the ⚑ next to any verdict above.
For agents
