# Upload files from Claude and ChatGPT

When upload sessions are enabled for your account, your assistant can collect files without putting file bytes in the conversation.

## Upload from your browser

1. Ask your assistant to request an upload session for your project and describe the files in their intended order.
2. Open the returned upload link. Sign in to the same Social Neuron account used by the connector.
3. Select one file per slot, or drop files in slot order. Check the labels before uploading.
4. Choose **Upload files**. Keep the page open until verification finishes.
5. Return to your assistant. It can call `wait_for_upload` and use the returned media keys.

No Claude network-setting change is needed for this browser flow. Sessions expire after at most 30 minutes. Supported caps are 30 MiB per image, 500 MiB per video and 50 MiB per audio file; a requested slot may have a smaller limit. Video and files over 8 MiB use multipart transfer. If a transfer stops, reselect the same file on the browser page to resume while the session remains open.

A completed upload appears in Assets. Uploading does not schedule or publish it. Your assistant should confirm the destination and publishing time before scheduling.

## In-chat upload view

On a compatible hosted connector, `request_upload_session` opens an upload view in the conversation. Select or drop files, then choose **Upload files**. Bytes travel directly from the view to Social Neuron's media endpoint.

If the view is unavailable, use **Open in browser** or the upload link in the assistant's response. Keep the view open during transfer; after closing it, the browser page supports resuming the session.

## Files already in Claude's code environment

This route is for files Claude already has in its code environment. Your assistant calls `create_upload_url`, sends the file directly to the returned PUT URL, then calls `complete_upload_session` for that slot. Large files use the returned multipart plan. Reuse the same session and attempt identifiers when retrying.

The upload destination is **`media.socialneuron.com`**. Do not paste a signed URL into a public issue or share it with another person.

### Team and Enterprise network settings

An organization owner can use these controls, documented by Anthropic:

1. Open **Organization settings → Capabilities**.
2. Enable **Code execution and file creation**.
3. Under **Allow network egress**, choose **package managers and specific domains**.
4. Add **`media.socialneuron.com`** as a specific domain.

The hosted MCP connector makes its own authenticated tool calls; it is separate from code-environment network access. You do not need to add an R2 storage hostname for the signed media-domain route.

### Free, Pro and Max

Anthropic documents **Settings → Capabilities → Code execution and file creation**, with **Allow network egress** for external access. Domain controls vary by plan. If your account cannot allow the media endpoint, use the browser upload link above; no network-setting change is required for that route.

Source: [Anthropic — Create and edit files with Claude](https://support.claude.com/en/articles/12111783-create-and-edit-files-with-claude), verified 6 October 2026.

## If an upload is refused

- **Account unavailable:** upload sessions have not been enabled for this account. Use Assets and provide the resulting media key to your assistant.
- **Session unavailable:** check the signed-in account. Expired sessions require a new request.
- **File rejected:** check the requested type and size. The server examines stored bytes as well as declared metadata.
- **Transfer interrupted:** retry the same file and session while it is open. The server verifies completion before returning publish-ready keys.
