# Update both name and configuration
client.update_experiment(
    id="experiment-id",
    name="Updated Experiment Name",
    experiment_config={
        "model": "gpt-4",
        "temperature": 0.7
    }
)
```

### From the TypeScript SDK

Use the `updateExperiment` method to update an experiment's name and configuration:

```typescript
import { Opik } from "opik";

const opik = new Opik();

// Update experiment name
await opik.updateExperiment("experiment-id", {
  name: "Updated Experiment Name"
});

// Update experiment configuration
await opik.updateExperiment("experiment-id", {
  experimentConfig: {
    model: "gpt-4",
    temperature: 0.7,
    promptTemplate: "Answer the following question: {question}"
  }
});

// Update both name and configuration
await opik.updateExperiment("experiment-id", {
  name: "Updated Experiment Name",
  experimentConfig: {
    model: "gpt-4",
    temperature: 0.7
  }
});
```

## Update Experiment Scores

Sometimes you may want to update an existing experiment with new scores, or update existing scores for an experiment. You can do this using the [`evaluate_experiment` function](https://www.comet.com/docs/opik/python-sdk-reference/evaluation/evaluate_existing.html).

This function will re-run the scoring metrics on the existing experiment items and update the scores:

```python
from opik.evaluation import evaluate_experiment
from opik.evaluation.metrics import Hallucination

hallucination_metric = Hallucination()