---
id: auth-api-getuser
title: "getUser()"
slug: auth-api-getuser
custom_edit_url: https://github.com/supabase/supabase/edit/master/web/spec/supabase.yml
---

import Tabs from '@theme/Tabs';
import TabItem from '@theme/TabItem';

Gets the current user details.

This method is called by the GoTrueClient `update` where
the jwt is set to this.currentSession.access_token
and therefore, acts like getting the currently authenticated user

<Tabs
  defaultValue="js"
  groupId="reference/supabase-js"
  values={[{ label: 'JavaScript', value: 'js' }]}>

<TabItem value="js">

```js
const { user, error } = await supabase.auth.api.getUser(
  'ACCESS_TOKEN_JWT',
)
```


</TabItem>

</Tabs>

## Parameters


<ul className="method-list-group">
  
<li className="method-list-item">
  <h4 className="method-list-item-label">
    <span className="method-list-item-label-name">
      jwt
    </span>
    <span className="method-list-item-label-badge required">
      required
    </span>
    <span className="method-list-item-validation">
      <code>string</code>
    </span>
  </h4>
  <div class="method-list-item-description">

A valid, logged-in JWT. Typically, the access_token for the currentSession

  </div>
  
</li>

</ul>


## Notes

- Fetches the user object from the database instead of local storage.
- Note that user() fetches the user object from local storage which might not be the most updated.
- Requires the user's access_token.










## Examples

### Fetch the user object using the access_token jwt.



<Tabs
  defaultValue="js"
  groupId="reference/supabase-js"
  values={[{ label: 'JavaScript', value: 'js' }]}>

<TabItem value="js">

```js
const { user, error } = await supabase.auth.api.getUser(
  'ACCESS_TOKEN_JWT',
)
```


</TabItem>

</Tabs>