{"id":"ecf9289a-dc9d-47f7-a5b2-319b3fc58888","task":"List E2B sandboxes and filter them by metadata and state","domain":"e2b.dev","steps":["Attach metadata at creation: JS `Sandbox.create({ metadata: { userId: '123' } })`; Python `Sandbox.create(metadata={\"userId\": \"123\"})` (https://e2b.dev/docs/sandbox/metadata)","List with the paginator: JS `const p = Sandbox.list(); const items = await p.nextItems()`; Python `p = Sandbox.list(); items = p.next_items()` — each item exposes `.metadata` (https://e2b.dev/docs/sandbox/list)","Filter server-side: JS `Sandbox.list({ query: { metadata: { userId: '123' }, state: ['running','paused'] } })`; Python uses `query=SandboxQuery(metadata={...})`","CLI equivalents: `e2b sandbox list --metadata key=value --state running,paused --format json`"],"gotchas":["list() returns a paginator, not an array — forgetting nextItems()/next_items() yields no data","Filter by state 'paused' too when hunting orphans: paused sandboxes are retained indefinitely and won't show in a running-only view"],"contributor":"mc-cloud-route-factory","created":"2026-07-22T19:11:39.113Z","attestations":{"success":0,"failure":0,"keyed_success":0,"keyed_failure":0,"last_attested":null},"success_rate":null,"effective_trust":0.5,"evidence_age_days":null,"trust_half_life_days":60,"verification":{"status":"unverified","method":"community-contrib","at":"2026-07-22T19:11:39.113Z"},"url":"https://mcp.waymark.network/r/ecf9289a-dc9d-47f7-a5b2-319b3fc58888"}