--- title: Using Tool Variables slug: guides/agents/tool-variables --- You can use **tool variables** to specify environment variables available to your custom tools. For example, if you set a tool variable `PASSWORD` to `banana`, then write a custom function that prints `os.getenv('PASSWORD')` in the tool, the function will print `banana`. ## Assigning tool variables in the ADE To assign tool variables in the Agent Development Environment (ADE), click on **Env Vars** to open the **Environment Variables** viewer: Once in the **Environment Variables** viewer, click **+** to add a new tool variable if one does not exist. ## Assigning tool variables in the API / SDK You can also assign tool variables on agent creation in the API with the `tool_exec_environment_variables` parameter: ```curl title="curl" {7-9} curl -X POST http://localhost:8283/v1/agents/ \ -H "Content-Type: application/json" \ -d '{ "memory_blocks": [], "llm":"openai/gpt-4o-mini", "embedding":"openai/text-embedding-3-small", "tool_exec_environment_variables": { "COMPOSIO_ENTITY": "banana" } }' ``` ```python title="python" {5-7} agent_state = client.agents.create( memory_blocks=[], model="openai/gpt-4o-mini", embedding="openai/text-embedding-3-small", tool_exec_environment_variables={ "COMPOSIO_ENTITY": "banana" } ) ``` ```typescript title="node.js" {5-7} const agentState = await client.agents.create({ memoryBlocks: [], model: "openai/gpt-4o-mini", embedding: "openai/text-embedding-3-small", toolExecEnvironmentVariables: { "COMPOSIO_ENTITY": "banana" } }); ```