Prerequisites
- A Docker account with access to the personal and organization repositories you want agents to inspect.
- Your Docker Hub username: the account name, not your email address or an organization name.
- For organization repositories: a Docker account that’s a member of the organization. A dedicated account for CloudThinker keeps the token separate from a person’s login.
Setup
1
Create a personal access token
In Docker Home, select your avatar, then Account settings → Personal access tokens (app.docker.com/settings/personal-access-tokens), and click Generate new token. Set:
- Access token description:
cloudthinker - Expiration date: a lifetime that matches your rotation policy
- Access permissions: Repo Read-only. Pick Repo Read, Write, Delete only if you want agents to update repository descriptions (see Write access).
2
Add the connection
Open More → Workspace settings → Connections, stay on the Builtin Connections tab, and select Docker Hub. Fill in:
- Docker Hub username: the account that created the PAT, such as
myuser. - Personal access token: the PAT. Not your Docker Hub password.
Connected to Docker Hub namespace myuser (12 repositories).Connection details
There’s no namespace field. Your personal namespace is your username, and agents discover organization namespaces from the token.
Required permissions
Docker Hub refuses description updates from a Repo Read & Write PAT, so that level gives agents nothing extra.
Write access
The connection is read-only when you add it. To let agents update repository descriptions:- Reconnect with a Repo Read, Write, Delete PAT.
- In More → Workspace settings → Connections, select Docker Hub and turn on the Allow writes switch on its detail panel.
Agent capabilities
Read the numbers the way Docker Hub reports them:
- Pulls are lifetime totals. They can’t show a trend or a spike.
- Sizes are compressed layer sizes, not storage used or runtime footprint.
- Days since last push is only push age. Docker Hub doesn’t report what runs an image, so it can’t prove a repository is unused.
- Inactive is Docker Hub’s own marker for no push or pull in a month.
Verify the connection
Example prompts
Troubleshooting
Invalid Docker Hub username
Invalid Docker Hub username
You entered an email address or an organization name. Enter the account name that created the PAT.
Authentication failed
Authentication failed
The PAT is wrong, expired, deactivated, or deleted. Generate a new PAT and reconnect with the same username.
An organization namespace is missing
An organization namespace is missing
Docker Hub refuses part of its organization listing for PAT-based sign-ins. That doesn’t mean you have no organizations. Ask the agent to inspect the namespace by name, such as
acme, and confirm the PAT’s account is a member. If it works, the agent lists that namespace’s repositories.A private repository isn't found
A private repository isn't found
Check the full name,
NAMESPACE/NAME. Docker Hub also answers “not found” when the PAT’s account can’t read a private repository.A description update is refused
A description update is refused
Check three things in order. The Allow writes switch on the connection’s detail panel must be on. The PAT must be Repo Read, Write, Delete; a Repo Read & Write PAT is refused. No Rule in Approvals may deny the update.
429 rate limited
429 rate limited
Docker Hub limited the requests. Wait a few minutes, then ask about one namespace or repository at a time.
Security
- Least privilege — grant only the permissions the agents need for your use case; start read-only and widen later.
- Read-only by default — use read-only credentials unless you want agents to make changes through this connection.
- Rotate credentials — rotate keys and tokens on your normal schedule; CloudThinker picks up the new value when you update the connection.
- Revoke on offboarding — remove the credential at the provider when you delete a connection or a teammate leaves.
- Prefer Repo Read-only: a Repo Read-only PAT covers every read. Even a Repo Read, Write, Delete PAT can only change repository text through this connection.
- Review PATs: set an expiration and check last-used dates under Account settings → Personal access tokens. Deactivate tokens you no longer need.
Related
CircleCI
Pipeline status, failure logs, flaky tests, and approval-gated reruns.
Connections overview
How credentials, Allow writes, and Approvals work together.