LinkedIn Session Expired
LinkedIn write tools (send_linkedin_message, send_linkedin_invitation) and some read tools that hit gated content rely on a logged-in session shared through the browser extension. The extension re-syncs your session automatically while that browser is open, but if everyone who connected has their browser closed for a long stretch, the pooled session can go stale — write calls then return an error indicating reauthentication is needed.
Symptoms
send_linkedin_invitation/send_linkedin_messagereturns an error mentioningsession_expired,not_authenticated, orlogin_required.list_linkedin_conversationsreturns an empty list when you expected results.- Read tools that don’t normally need a session (e.g.
get_linkedin_company_url) keep working — those use a separate non-session backend.
Recovery
-
Check session status.
If the response doesn’t list the account, no fresh session is available.
-
Refresh the session.
Open LinkedIn in a browser where the extension is installed and connected, and make sure you’re logged in. The extension re-syncs the moment your session cookie refreshes, pushing a fresh session to the workspace pool. If no one has connected the extension yet, install it and press Connect.
-
Retry the original call.
The session lives in the workspace pool, so any subsequent write tool — same workflow, same agent, anywhere — picks it up automatically. The more teammates who connect, the more resilient the pool.
Avoiding expiration
LinkedIn rotates sessions aggressively for accounts that look like automation. To keep yours stable:
- Don’t blast. Spread invitations across the day; LinkedIn flags burst patterns.
- Cap concurrency. Keep parallel write calls below 3.
- Vary outreach. Don’t send the same exact message body to many recipients in quick succession — LinkedIn’s spam filter triggers on identical templates.
If your session expires more than once a week, slow your write cadence first before assuming a bug.
Read tools that don’t need a session
Most read tools work without a logged-in session — they hit the underlying provider through a separate path:
So in practice, only the write tools and the two personal-data read tools fail when the session is gone.