5.8 KiB
5.8 KiB
Authentication Setup
The Gemini CLI requires you to authenticate with Google's AI services. On initial startup you'll need to configure one of the following authentication methods:
-
Login with Google (Gemini Code Assist):
- Use this option to log in with the standard, free account you use for services like Gmail, Google Photos, and Google Drive for personal use (e.g. your-name@gmail.com).
- During initial startup, Gemini CLI will direct you to a webpage for authentication. Once authenticated, your credentials will be cached locally so the web login can be skipped on subsequent runs.
- Note that the web login must be done in a browser that can communicate with the machine Gemini CLI is being run from. (Specifically, the browser will be redirected to a localhost url that Gemini CLI will be listening on).
-
Gemini API key:
- Obtain your API key from Google AI Studio: https://aistudio.google.com/app/apikey
- Set the
GEMINI_API_KEY
environment variable. In the following methods, replaceYOUR_GEMINI_API_KEY
with the API key you obtained from Google AI Studio:- You can temporarily set the environment variable in your current shell session using the following command:
export GEMINI_API_KEY="YOUR_GEMINI_API_KEY"
- For repeated use, you can add the environment variable to your
.env
file (located in the project directory or user home directory) or your shell's configuration file (like~/.bashrc
,~/.zshrc
, or~/.profile
). For example, the following command adds the environment variable to a~/.bashrc
file:echo 'export GEMINI_API_KEY="YOUR_GEMINI_API_KEY"' >> ~/.bashrc source ~/.bashrc
- You can temporarily set the environment variable in your current shell session using the following command:
-
Login with Google Workspace
- Use this option to log in with the Google Workspace Accounts. This is a paid service for businesses and organizations that provides a suite of productivity tools, including a custom email domain (e.g. your-name@your-company.com), enhanced security features, and administrative controls. These accounts are often managed by an employer or school.
- Google Workspace Account must configure a Google Cloud Project Id to use. You can temporarily set the environment variable in your current shell session using the following command:
export GOOGLE_CLOUD_PROJECT_ID="YOUR_PROJECT_ID"
- For repeated use, you can add the environment variable to your
.env
file (located in the project directory or user home directory) or your shell's configuration file (like~/.bashrc
,~/.zshrc
, or~/.profile
). For example, the following command adds the environment variable to a~/.bashrc
file:
echo 'export GOOGLE_CLOUD_PROJECT_ID="YOUR_PROJECT_ID"' >> ~/.bashrc source ~/.bashrc
- During startup, Gemini CLI will direct you to a webpage for authentication. Once authenticated, your credentials will be cached locally so the web login can be skipped on subsequent runs.
- Note that the web login must be done in a browser that can communicate with the machine Gemini CLI is being run from. (Specifically, the browser will be redirected to a localhost url that Gemini CLI will be listening on).
- Use this option to log in with the Google Workspace Accounts. This is a paid service for businesses and organizations that provides a suite of productivity tools, including a custom email domain (e.g. your-name@your-company.com), enhanced security features, and administrative controls. These accounts are often managed by an employer or school.
-
Vertex AI:
- If not using express mode:
- Ensure you have a Google Cloud project and have enabled the Vertex AI API.
- Set up Application Default Credentials (ADC), using the following command:
For more information, see Set up Application Default Credentials for Google Cloud.gcloud auth application-default login
- Set the
GOOGLE_CLOUD_PROJECT
,GOOGLE_CLOUD_LOCATION
, andGOOGLE_GENAI_USE_VERTEXAI
environment variables. In the following methods, replaceYOUR_PROJECT_ID
andYOUR_PROJECT_LOCATION
with the relevant values for your project:- You can temporarily set these environment variables in your current shell session using the following commands:
export GOOGLE_CLOUD_PROJECT="YOUR_PROJECT_ID" export GOOGLE_CLOUD_LOCATION="YOUR_PROJECT_LOCATION" # e.g., us-central1 export GOOGLE_GENAI_USE_VERTEXAI=true
- For repeated use, you can add the environment variables to your
.env
file (located in the project directory or user home directory) or your shell's configuration file (like~/.bashrc
,~/.zshrc
, or~/.profile
). For example, the following commands adds the environment variables to a~/.bashrc
file:echo 'export GOOGLE_CLOUD_PROJECT="YOUR_PROJECT_ID"' >> ~/.bashrc echo 'export GOOGLE_CLOUD_LOCATION="YOUR_PROJECT_LOCATION"' >> ~/.bashrc echo 'export GOOGLE_GENAI_USE_VERTEXAI=true' >> ~/.bashrc source ~/.bashrc
- You can temporarily set these environment variables in your current shell session using the following commands:
- If using express mode:
- Set the
GOOGLE_API_KEY
environment variables. In the following methods, replaceYOUR_GOOGLE_API_KEY
with your Vertex AI API key provided by express mode:- You can temporarily set these environment variables in your current shell session using the following commands:
export GOOGLE_API_KEY="YOUR_GOOGLE_API_KEY" export GOOGLE_GENAI_USE_VERTEXAI=true
- For repeated use, you can add the environment variables to your
.env
file (located in the project directory or user home directory) or your shell's configuration file (like~/.bashrc
,~/.zshrc
, or~/.profile
). For example, the following commands adds the environment variables to a~/.bashrc
file:echo 'export GOOGLE_API_KEY="YOUR_GOOGLE_API_KEY"' >> ~/.bashrc echo 'export GOOGLE_GENAI_USE_VERTEXAI=true' >> ~/.bashrc source ~/.bashrc
- You can temporarily set these environment variables in your current shell session using the following commands:
- Set the
- If not using express mode: