Lab Wiki

> Computing & Tools

Free AI with VT ARC

Use Virginia Tech's own hosted AI models for chat and coding — free for every student, no subscription. · 10 min

Virginia Tech’s Advanced Research Computing (ARC) runs large AI models on its own hardware and gives every VT student, undergrad or grad, free access. You don’t need an ARC account, a faculty sponsor, or a credit card, and it works off campus without the VPN. You can use it two ways:

  • In the browser, like ChatGPT.
  • In your terminal, as a coding agent that reads and edits your project, like Claude Code.

Last checked against ARC's docs on 2026-10-19.

1. Chat in the browser

Go to llm.arc.vt.edu and sign in with your VT login. That’s it.

It can search the web and read images (with DeepSeek-V4.1-Flash). Pick a model from the menu at the top; the table in step 4 says which one to use for what.

2. Get an API key

Coding tools need a key so ARC knows it’s you.

  1. At llm.arc.vt.edu, click your name → Settings → Account → API keys, and create a key. It starts with sk-.

  2. Save it where your tools can find it. On macOS (or Linux, using ~/.bashrc instead):

    echo 'export ARC_API_KEY="sk-paste-your-key-here"' >> ~/.zshrc

    Then open a new terminal window. On Windows, do all of this inside WSL.

  3. Check that it works. You should see a list of model names, not an error:

    curl -s https://llm-api.arc.vt.edu/api/v1/models -H "Authorization: Bearer $ARC_API_KEY"

3. Code with OpenCode

OpenCode is a free, open-source coding agent for your terminal. You describe what you want (“add a test for the parser”, “why does this crash?”), and it reads your files, proposes edits, and runs commands, asking you before it does anything. If you’ve seen Claude Code, it works the same way. ARC supports it officially.

  1. Install it:

    curl -fsSL https://opencode.ai/install | bash

    (Or npm install -g opencode-ai, or brew install anomalyco/tap/opencode.)

  2. Create the file ~/.config/opencode/opencode.json and paste this in. It reads your key from ARC_API_KEY, so the file itself has no secrets:

    {
      "$schema": "https://opencode.ai/config.json",
      "provider": {
        "ARC": {
          "name": "ARC",
          "npm": "@ai-sdk/openai-compatible",
          "options": {
            "baseURL": "https://llm-api.arc.vt.edu/api/v1",
            "apiKey": "{env:ARC_API_KEY}",
            "timeout": 1800000,
            "headerTimeout": 1800000
          },
          "models": {
            "GLM-5.3": {
              "name": "GLM-5.3",
              "limit": {
                "context": 131072,
                "output": 16384
              }
            },
            "DeepSeek-V4.1-Flash": {
              "name": "DeepSeek-V4.1-Flash",
              "limit": {
                "context": 1048576,
                "output": 16384
              }
            },
            "GLM-5.3-thinking-high": {
              "name": "GLM-5.3-thinking-high",
              "limit": {
                "context": 131072,
                "output": 16384
              }
            }
          }
        }
      },
      "model": "ARC/GLM-5.3"
    }
  3. In a terminal, cd into your project and run opencode. Type what you want in plain English.

A few commands worth knowing, typed inside OpenCode:

CommandWhat it does
/initWrites an AGENTS.md describing your project, so the agent understands it in later sessions.
/modelsSwitch models, e.g. to DeepSeek-V4.1-Flash when GLM-5.3 is slow.
/compactSummarizes a long conversation when it runs out of memory.
Prefer VS Code?

VS Code’s built-in Chat can use ARC directly, with no extension and no Copilot subscription. Follow the VS Code section of ARC’s Coding Agents and IDEs page, and use the same key and model names as above.

4. Pick a model

ModelUse it forMemory
GLM-5.3 (default)Default for coding and reasoning. Shared queue: when ARC is busy it can wait a few minutes before starting.128k tokens
DeepSeek-V4.1-FlashSwitch to this when GLM-5.3 is slow, or for huge codebases and long sessions. Also reads images.1M tokens
GLM-5.3-thinking-highThinks longer before answering. For hard bugs and design questions; slower.128k tokens
gpt-oss-120bFast for quick questions in chat. Less reliable at running tools, so not for coding agents.128k tokens

“Memory” (the context window) is how much of your conversation and code the model can hold at once. When a long session gets confused, run /compact or start fresh.

What’s allowed

  • Data: ARC runs entirely on VT hardware, and VT has approved it for sensitive data. Two exceptions:
    • Nothing export-controlled (ITAR) or CUI goes into any AI tool.
    • Research study data goes in only if your IRB protocol says this tool may be used. Ask your advisor first.
  • Privacy: ARC logs your conversations under VT’s security policies. Don’t type anything you wouldn’t put in a VT email.
  • Limits: up to 20 requests at once per person. That’s plenty for one agent; running many in parallel will hit it.

When something goes wrong

You seeFix
401 / “unauthorized”The key is wrong or deleted. Run echo $ARC_API_KEY to check it’s set, or make a new key.
429 / “too many requests”Too many requests at once. Wait a minute, or close other sessions.
A long wait before any answerGLM-5.3 is queued behind other users. Switch to DeepSeek-V4.1-Flash with /models.
The agent forgets things or loopsIts memory is full. Run /compact, or start a new session.
Answers aren’t as good as Claude or ChatGPTExpected. These are strong open models, not the newest commercial ones. Give smaller, clearer tasks.
Can I use Claude Code itself with ARC?

Technically yes: ARC accepts Claude Code’s request format. But ARC itself calls it “not an ideal client”. Sub-agents, web search, and extended thinking don’t work, and it can break midway on long sessions. Use OpenCode. If you still want to try, the setup is under Claude Code on ARC’s Coding Agents and IDEs page.

Help: ARC’s own docs are at docs.arc.vt.edu/ai. For account or service problems, use VT 4Help. If this page is out of date, use Edit this page below, or tell a lab member.