Loading...
Loading...
Uses Chrome DevTools MCP for inspecting, debugging, and testing cookies, session state, authentication issues, and cookie consent compliance. Use when diagnosing 401/403 errors, authentication redirects, session expiration, Cookie/Set-Cookie header issues, cookie banner consent conformance, or third-party cookie/SameSite/Partitioned cookie warnings.
npx skill4agent add chromedevtools/chrome-devtools-mcp cookie-debuggingHttpOnlycookieStoredocument.cookieCookieHttpOnlyCookieget_network_requestSet-CookieHttpOnlyevaluate_scriptcookieStoreasync () => await cookieStore.getAll()| Strategy | When to Use | Setup / Teardown |
|---|---|---|
| Live Tab (Active Page) | Diagnosing an active user session, live 401/403 error, or current state. | Operates directly on the currently selected page. |
Clean-Slate ( | Testing cookie consent banners, first-time visits, or zero-cookie guarantees. | Call |
| Action | Client JavaScript ( | DevTools Network & Context Tools |
|---|---|---|
| Read Non-HttpOnly | ✅ | ✅ |
| Read HttpOnly | ❌ Blocked by browser security | ✅ |
Inspect Attributes ( | ✅ | ✅ |
| Modify / Delete Non-HttpOnly | ✅ | N/A |
| Modify / Delete HttpOnly | ❌ Silent failure in JavaScript | ✅ Use |
[!WARNING] Attempting to clear ancookie via JavaScript (HttpOnlyorcookieStore.delete) will silently fail. To test in an unauthenticated or fresh state, always spawn a new isolated context usingdocument.cookie = "...; max-age=0"withnew_page.isolatedContext
list_network_requestsincludePreservedRequests: trueCookieget_network_requestreqidCookieSESSION_IDauth_tokennavigate_pagereload: trueevaluate_script() => fetch(window.location.href)get_network_requestCookieSet-CookiePath=/api/Domain=api.example.comsub.example.comSecurehttp://SameSite=StrictExpiresMax-Age{"url": "<PAGE_URL>", "isolatedContext": "consent-test-1"}evaluate_scriptasync () => await cookieStore.getAll()list_network_requestslist_console_messagestypes: ["issue"]take_snapshotuidclickevaluate_scriptasync () => await cookieStore.getAll()take_snapshotclickcookieStore.getAll()list_network_requestsclose_pagelist_console_messages{
"types": ["issue"],
"includePreservedMessages": true
}CookieIssueSameSiteNoneInsecureSameSite=NoneSecureThirdPartyCookiePhaseoutSchemefulSameSitePartitionedCookieslighthouse_auditmode: "navigation"outputDirPath: "/tmp/lh-report"node -e "const r=require('/tmp/lh-report/report.json'); const a=r.audits['third-party-cookies']; console.log(JSON.stringify({score: a?.score, displayValue: a?.displayValue, items: a?.details?.items}))"HttpOnlyasync () => await cookieStore.getAll();() => document.cookiecookieStoreasync () =>
await cookieStore.set({
name: 'theme',
value: 'dark',
expires: Date.now() + 86400000,
sameSite: 'lax',
});async () => await cookieStore.delete('theme');cookieStorecookieStorehttps://localhost127.0.0.1() => document.cookieevaluate_scriptcookieStoreasync () => await cookieStore.getAll()HttpOnlyget_network_requestCookieHttpOnlyPathDomainisolatedContextnew_pagehttp://SecureDomainlist_console_messages(types: ["issue"])new_pageisolatedContextclose_page